node_modules/prettier/index.mjs in immosquare-cleaner-0.1.22 vs node_modules/prettier/index.mjs in immosquare-cleaner-0.1.23

- old
+ new

@@ -9,10 +9,11 @@ var __defProp = Object.defineProperty; var __getOwnPropDesc = Object.getOwnPropertyDescriptor; var __getOwnPropNames = Object.getOwnPropertyNames; var __getProtoOf = Object.getPrototypeOf; var __hasOwnProp = Object.prototype.hasOwnProperty; +var __defNormalProp = (obj, key2, value) => key2 in obj ? __defProp(obj, key2, { enumerable: true, configurable: true, writable: true, value }) : obj[key2] = value; var __require = /* @__PURE__ */ ((x) => typeof require !== "undefined" ? require : typeof Proxy !== "undefined" ? new Proxy(x, { get: (a, b) => (typeof require !== "undefined" ? require : a)[b] }) : x)(function(x) { if (typeof require !== "undefined") return require.apply(this, arguments); @@ -25,13 +26,13 @@ for (var name in all) __defProp(target, name, { get: all[name], enumerable: true }); }; var __copyProps = (to, from, except, desc) => { if (from && typeof from === "object" || typeof from === "function") { - for (let key of __getOwnPropNames(from)) - if (!__hasOwnProp.call(to, key) && key !== except) - __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); + for (let key2 of __getOwnPropNames(from)) + if (!__hasOwnProp.call(to, key2) && key2 !== except) + __defProp(to, key2, { get: () => from[key2], enumerable: !(desc = __getOwnPropDesc(from, key2)) || desc.enumerable }); } return to; }; var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps( // If the importer is in node compatibility mode or this is not an ESM @@ -39,19 +40,32 @@ // compatible transform (i.e. "__esModule" has not been set), then set // "default" to the CommonJS "module.exports" for node compatibility. isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, mod )); +var __publicField = (obj, key2, value) => { + __defNormalProp(obj, typeof key2 !== "symbol" ? key2 + "" : key2, value); + return value; +}; var __accessCheck = (obj, member, msg) => { if (!member.has(obj)) throw TypeError("Cannot " + msg); }; +var __privateGet = (obj, member, getter) => { + __accessCheck(obj, member, "read from private field"); + return getter ? getter.call(obj) : member.get(obj); +}; var __privateAdd = (obj, member, value) => { if (member.has(obj)) throw TypeError("Cannot add the same private member more than once"); member instanceof WeakSet ? member.add(obj) : member.set(obj, value); }; +var __privateSet = (obj, member, value, setter) => { + __accessCheck(obj, member, "write to private field"); + setter ? setter.call(obj, value) : member.set(obj, value); + return value; +}; var __privateMethod = (obj, member, method) => { __accessCheck(obj, member, "access private method"); return method; }; @@ -125,23 +139,23 @@ "node_modules/fast-glob/out/utils/path.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.convertPosixPathToPattern = exports.convertWindowsPathToPattern = exports.convertPathToPattern = exports.escapePosixPath = exports.escapeWindowsPath = exports.escape = exports.removeLeadingDotSegment = exports.makeAbsolute = exports.unixify = void 0; var os2 = __require("os"); - var path9 = __require("path"); + var path13 = __require("path"); var IS_WINDOWS_PLATFORM = os2.platform() === "win32"; var LEADING_DOT_SEGMENT_CHARACTERS_COUNT = 2; var POSIX_UNESCAPED_GLOB_SYMBOLS_RE = /(\\?)([()*?[\]{|}]|^!|[!+@](?=\()|\\(?![!()*+?@[\]{|}]))/g; - var WINDOWS_UNESCAPED_GLOB_SYMBOLS_RE = /(\\?)([(){}]|^!|[!+@](?=\())/g; + var WINDOWS_UNESCAPED_GLOB_SYMBOLS_RE = /(\\?)([()[\]{}]|^!|[!+@](?=\())/g; var DOS_DEVICE_PATH_RE = /^\\\\([.?])/; - var WINDOWS_BACKSLASHES_RE = /\\(?![!()+@{}])/g; + var WINDOWS_BACKSLASHES_RE = /\\(?![!()+@[\]{}])/g; function unixify(filepath) { return filepath.replace(/\\/g, "/"); } exports.unixify = unixify; function makeAbsolute(cwd, filepath) { - return path9.resolve(cwd, filepath); + return path13.resolve(cwd, filepath); } exports.makeAbsolute = makeAbsolute; function removeLeadingDotSegment(entry) { if (entry.charAt(0) === ".") { const secondCharactery = entry.charAt(1); @@ -174,19 +188,19 @@ }); // node_modules/is-extglob/index.js var require_is_extglob = __commonJS({ "node_modules/is-extglob/index.js"(exports, module) { - module.exports = function isExtglob(str) { - if (typeof str !== "string" || str === "") { + module.exports = function isExtglob(str2) { + if (typeof str2 !== "string" || str2 === "") { return false; } var match; - while (match = /(\\).|([@?!+*]\(.*\))/g.exec(str)) { + while (match = /(\\).|([@?!+*]\(.*\))/g.exec(str2)) { if (match[2]) return true; - str = str.slice(match.index + match[0].length); + str2 = str2.slice(match.index + match[0].length); } return false; }; } }); @@ -194,132 +208,132 @@ // node_modules/is-glob/index.js var require_is_glob = __commonJS({ "node_modules/is-glob/index.js"(exports, module) { var isExtglob = require_is_extglob(); var chars = { "{": "}", "(": ")", "[": "]" }; - var strictCheck = function(str) { - if (str[0] === "!") { + var strictCheck = function(str2) { + if (str2[0] === "!") { return true; } var index = 0; var pipeIndex = -2; var closeSquareIndex = -2; var closeCurlyIndex = -2; var closeParenIndex = -2; var backSlashIndex = -2; - while (index < str.length) { - if (str[index] === "*") { + while (index < str2.length) { + if (str2[index] === "*") { return true; } - if (str[index + 1] === "?" && /[\].+)]/.test(str[index])) { + if (str2[index + 1] === "?" && /[\].+)]/.test(str2[index])) { return true; } - if (closeSquareIndex !== -1 && str[index] === "[" && str[index + 1] !== "]") { + if (closeSquareIndex !== -1 && str2[index] === "[" && str2[index + 1] !== "]") { if (closeSquareIndex < index) { - closeSquareIndex = str.indexOf("]", index); + closeSquareIndex = str2.indexOf("]", index); } if (closeSquareIndex > index) { if (backSlashIndex === -1 || backSlashIndex > closeSquareIndex) { return true; } - backSlashIndex = str.indexOf("\\", index); + backSlashIndex = str2.indexOf("\\", index); if (backSlashIndex === -1 || backSlashIndex > closeSquareIndex) { return true; } } } - if (closeCurlyIndex !== -1 && str[index] === "{" && str[index + 1] !== "}") { - closeCurlyIndex = str.indexOf("}", index); + if (closeCurlyIndex !== -1 && str2[index] === "{" && str2[index + 1] !== "}") { + closeCurlyIndex = str2.indexOf("}", index); if (closeCurlyIndex > index) { - backSlashIndex = str.indexOf("\\", index); + backSlashIndex = str2.indexOf("\\", index); if (backSlashIndex === -1 || backSlashIndex > closeCurlyIndex) { return true; } } } - if (closeParenIndex !== -1 && str[index] === "(" && str[index + 1] === "?" && /[:!=]/.test(str[index + 2]) && str[index + 3] !== ")") { - closeParenIndex = str.indexOf(")", index); + if (closeParenIndex !== -1 && str2[index] === "(" && str2[index + 1] === "?" && /[:!=]/.test(str2[index + 2]) && str2[index + 3] !== ")") { + closeParenIndex = str2.indexOf(")", index); if (closeParenIndex > index) { - backSlashIndex = str.indexOf("\\", index); + backSlashIndex = str2.indexOf("\\", index); if (backSlashIndex === -1 || backSlashIndex > closeParenIndex) { return true; } } } - if (pipeIndex !== -1 && str[index] === "(" && str[index + 1] !== "|") { + if (pipeIndex !== -1 && str2[index] === "(" && str2[index + 1] !== "|") { if (pipeIndex < index) { - pipeIndex = str.indexOf("|", index); + pipeIndex = str2.indexOf("|", index); } - if (pipeIndex !== -1 && str[pipeIndex + 1] !== ")") { - closeParenIndex = str.indexOf(")", pipeIndex); + if (pipeIndex !== -1 && str2[pipeIndex + 1] !== ")") { + closeParenIndex = str2.indexOf(")", pipeIndex); if (closeParenIndex > pipeIndex) { - backSlashIndex = str.indexOf("\\", pipeIndex); + backSlashIndex = str2.indexOf("\\", pipeIndex); if (backSlashIndex === -1 || backSlashIndex > closeParenIndex) { return true; } } } } - if (str[index] === "\\") { - var open = str[index + 1]; + if (str2[index] === "\\") { + var open = str2[index + 1]; index += 2; var close = chars[open]; if (close) { - var n = str.indexOf(close, index); + var n = str2.indexOf(close, index); if (n !== -1) { index = n + 1; } } - if (str[index] === "!") { + if (str2[index] === "!") { return true; } } else { index++; } } return false; }; - var relaxedCheck = function(str) { - if (str[0] === "!") { + var relaxedCheck = function(str2) { + if (str2[0] === "!") { return true; } var index = 0; - while (index < str.length) { - if (/[*?{}()[\]]/.test(str[index])) { + while (index < str2.length) { + if (/[*?{}()[\]]/.test(str2[index])) { return true; } - if (str[index] === "\\") { - var open = str[index + 1]; + if (str2[index] === "\\") { + var open = str2[index + 1]; index += 2; var close = chars[open]; if (close) { - var n = str.indexOf(close, index); + var n = str2.indexOf(close, index); if (n !== -1) { index = n + 1; } } - if (str[index] === "!") { + if (str2[index] === "!") { return true; } } else { index++; } } return false; }; - module.exports = function isGlob(str, options8) { - if (typeof str !== "string" || str === "") { + module.exports = function isGlob(str2, options8) { + if (typeof str2 !== "string" || str2 === "") { return false; } - if (isExtglob(str)) { + if (isExtglob(str2)) { return true; } var check2 = strictCheck; if (options8 && options8.strict === false) { check2 = relaxedCheck; } - return check2(str); + return check2(str2); }; } }); // node_modules/glob-parent/index.js @@ -332,23 +346,23 @@ var slash2 = "/"; var backslash = /\\/g; var enclosure = /[\{\[].*[\}\]]$/; var globby = /(^|[^\\])([\{\[]|\([^\)]+$)/; var escaped = /\\([\!\*\?\|\[\]\(\)\{\}])/g; - module.exports = function globParent(str, opts) { + module.exports = function globParent(str2, opts) { var options8 = Object.assign({ flipBackslashes: true }, opts); - if (options8.flipBackslashes && isWin32 && str.indexOf(slash2) < 0) { - str = str.replace(backslash, slash2); + if (options8.flipBackslashes && isWin32 && str2.indexOf(slash2) < 0) { + str2 = str2.replace(backslash, slash2); } - if (enclosure.test(str)) { - str += slash2; + if (enclosure.test(str2)) { + str2 += slash2; } - str += "a"; + str2 += "a"; do { - str = pathPosixDirname(str); - } while (isGlob(str) || globby.test(str)); - return str.replace(escaped, "$1"); + str2 = pathPosixDirname(str2); + } while (isGlob(str2) || globby.test(str2)); + return str2.replace(escaped, "$1"); }; } }); // node_modules/braces/lib/utils.js @@ -362,23 +376,23 @@ if (typeof num === "string" && num.trim() !== "") { return Number.isInteger(Number(num)); } return false; }; - exports.find = (node, type) => node.nodes.find((node2) => node2.type === type); + exports.find = (node, type2) => node.nodes.find((node2) => node2.type === type2); exports.exceedsLimit = (min, max, step = 1, limit) => { if (limit === false) return false; if (!exports.isInteger(min) || !exports.isInteger(max)) return false; return (Number(max) - Number(min)) / Number(step) >= limit; }; - exports.escapeNode = (block, n = 0, type) => { + exports.escapeNode = (block, n = 0, type2) => { let node = block.nodes[n]; if (!node) return; - if (type && node.type === type || node.type === "open" || node.type === "close") { + if (type2 && node.type === type2 || node.type === "open" || node.type === "close") { if (node.escaped !== true) { node.value = "\\" + node.value; node.escaped = true; } } @@ -546,14 +560,14 @@ state.result = `(?:${state.result})`; } toRegexRange.cache[cacheKey] = state; return state.result; }; - function collatePatterns(neg, pos, options8) { - let onlyNegative = filterPatterns(neg, pos, "-", false, options8) || []; - let onlyPositive = filterPatterns(pos, neg, "", false, options8) || []; - let intersected = filterPatterns(neg, pos, "-?", true, options8) || []; + function collatePatterns(neg, pos2, options8) { + let onlyNegative = filterPatterns(neg, pos2, "-", false, options8) || []; + let onlyPositive = filterPatterns(pos2, neg, "", false, options8) || []; + let intersected = filterPatterns(neg, pos2, "-?", true, options8) || []; let subpatterns = onlyNegative.concat(intersected).concat(onlyPositive); return subpatterns.join("|"); } function splitToRanges(min, max) { let nines = 1; @@ -646,12 +660,12 @@ return arr; } function compare(a, b) { return a > b ? 1 : b > a ? -1 : 0; } - function contains(arr, key, val) { - return arr.some((ele) => ele[key] === val); + function contains(arr, key2, val) { + return arr.some((ele) => ele[key2] === val); } function countNines(min, len) { return Number(String(min).slice(0, -len) + "9".repeat(len)); } function countZeros(integer, zeros) { @@ -665,12 +679,12 @@ return ""; } function toCharacterClass(a, b, options8) { return `[${a}${b - a === 1 ? "" : "-"}${b}]`; } - function hasPadding(str) { - return /^-?(0+)\d/.test(str); + function hasPadding(str2) { + return /^-?(0+)\d/.test(str2); } function padZeros(value, tok, options8) { if (!tok.isPadded) { return value; } @@ -696,14 +710,14 @@ // node_modules/fill-range/index.js var require_fill_range = __commonJS({ "node_modules/fill-range/index.js"(exports, module) { "use strict"; - var util = __require("util"); + var util2 = __require("util"); var toRegexRange = require_to_regex_range(); - var isObject2 = (val) => val !== null && typeof val === "object" && !Array.isArray(val); - var transform2 = (toNumber) => { + var isObject3 = (val) => val !== null && typeof val === "object" && !Array.isArray(val); + var transform = (toNumber) => { return (value) => toNumber === true ? Number(value) : String(value); }; var isValidValue = (value) => { return typeof value === "number" || typeof value === "string" && value !== ""; }; @@ -787,11 +801,11 @@ return wrap ? `(${prefix}${start.join("|")})` : start.join("|"); } return toRegexRange(start, end, options8); }; var rangeError = (...args) => { - return new RangeError("Invalid range arguments: " + util.inspect(...args)); + return new RangeError("Invalid range arguments: " + util2.inspect(...args)); }; var invalidRange = (start, end, options8) => { if (options8.strictRanges === true) throw rangeError([start, end]); return []; @@ -820,21 +834,21 @@ let stepString = String(step); step = Math.max(Math.abs(step), 1); let padded = zeros(startString) || zeros(endString) || zeros(stepString); let maxLen = padded ? Math.max(startString.length, endString.length, stepString.length) : 0; let toNumber = padded === false && stringify(start, end, options8) === false; - let format3 = options8.transform || transform2(toNumber); + let format3 = options8.transform || transform(toNumber); if (options8.toRegex && step === 1) { return toRange(toMaxLen(start, maxLen), toMaxLen(end, maxLen), true, options8); } let parts = { negatives: [], positives: [] }; - let push = (num) => parts[num < 0 ? "negatives" : "positives"].push(Math.abs(num)); + let push2 = (num) => parts[num < 0 ? "negatives" : "positives"].push(Math.abs(num)); let range = []; let index = 0; while (descending ? a >= b : a <= b) { if (options8.toRegex === true && step > 1) { - push(a); + push2(a); } else { range.push(pad(format3(a, index), maxLen, toNumber)); } a = descending ? a - step : a + step; index++; @@ -877,19 +891,19 @@ return invalidRange(start, end, options8); } if (typeof step === "function") { return fill2(start, end, 1, { transform: step }); } - if (isObject2(step)) { + if (isObject3(step)) { return fill2(start, end, 0, step); } let opts = { ...options8 }; if (opts.capture === true) opts.wrap = true; step = step || opts.step || 1; if (!isNumber(step)) { - if (step != null && !isObject2(step)) + if (step != null && !isObject3(step)) return invalidStep(step, opts); return fill2(start, end, 1, step); } if (isNumber(start) && isNumber(end)) { return fillNumbers(start, end, step, opts); @@ -1181,31 +1195,31 @@ CHAR_SINGLE_QUOTE, /* ' */ CHAR_NO_BREAK_SPACE, CHAR_ZERO_WIDTH_NOBREAK_SPACE } = require_constants(); - var parse3 = (input, options8 = {}) => { + var parse6 = (input, options8 = {}) => { if (typeof input !== "string") { throw new TypeError("Expected a string"); } let opts = options8 || {}; let max = typeof opts.maxLength === "number" ? Math.min(MAX_LENGTH, opts.maxLength) : MAX_LENGTH; if (input.length > max) { throw new SyntaxError(`Input length (${input.length}), exceeds max characters (${max})`); } let ast = { type: "root", input, nodes: [] }; - let stack = [ast]; + let stack2 = [ast]; let block = ast; let prev = ast; let brackets = 0; let length = input.length; let index = 0; let depth = 0; let value; let memo = {}; const advance = () => input[index++]; - const push = (node) => { + const push2 = (node) => { if (node.type === "text" && prev.type === "dot") { prev.type = "text"; } if (prev && prev.type === "text" && node.type === "text") { prev.value += node.value; @@ -1215,23 +1229,23 @@ node.parent = block; node.prev = prev; prev = node; return node; }; - push({ type: "bos" }); + push2({ type: "bos" }); while (index < length) { - block = stack[stack.length - 1]; + block = stack2[stack2.length - 1]; value = advance(); if (value === CHAR_ZERO_WIDTH_NOBREAK_SPACE || value === CHAR_NO_BREAK_SPACE) { continue; } if (value === CHAR_BACKSLASH) { - push({ type: "text", value: (options8.keepEscaping ? value : "") + advance() }); + push2({ type: "text", value: (options8.keepEscaping ? value : "") + advance() }); continue; } if (value === CHAR_RIGHT_SQUARE_BRACKET) { - push({ type: "text", value: "\\" + value }); + push2({ type: "text", value: "\\" + value }); continue; } if (value === CHAR_LEFT_SQUARE_BRACKET) { brackets++; let closed = true; @@ -1251,27 +1265,27 @@ if (brackets === 0) { break; } } } - push({ type: "text", value }); + push2({ type: "text", value }); continue; } if (value === CHAR_LEFT_PARENTHESES) { - block = push({ type: "paren", nodes: [] }); - stack.push(block); - push({ type: "text", value }); + block = push2({ type: "paren", nodes: [] }); + stack2.push(block); + push2({ type: "text", value }); continue; } if (value === CHAR_RIGHT_PARENTHESES) { if (block.type !== "paren") { - push({ type: "text", value }); + push2({ type: "text", value }); continue; } - block = stack.pop(); - push({ type: "text", value }); - block = stack[stack.length - 1]; + block = stack2.pop(); + push2({ type: "text", value }); + block = stack2[stack2.length - 1]; continue; } if (value === CHAR_DOUBLE_QUOTE || value === CHAR_SINGLE_QUOTE || value === CHAR_BACKTICK) { let open = value; let next; @@ -1288,11 +1302,11 @@ value += next; break; } value += next; } - push({ type: "text", value }); + push2({ type: "text", value }); continue; } if (value === CHAR_LEFT_CURLY_BRACE) { depth++; let dollar = prev.value && prev.value.slice(-1) === "$" || block.dollar === true; @@ -1304,42 +1318,42 @@ depth, commas: 0, ranges: 0, nodes: [] }; - block = push(brace); - stack.push(block); - push({ type: "open", value }); + block = push2(brace); + stack2.push(block); + push2({ type: "open", value }); continue; } if (value === CHAR_RIGHT_CURLY_BRACE) { if (block.type !== "brace") { - push({ type: "text", value }); + push2({ type: "text", value }); continue; } - let type = "close"; - block = stack.pop(); + let type2 = "close"; + block = stack2.pop(); block.close = true; - push({ type, value }); + push2({ type: type2, value }); depth--; - block = stack[stack.length - 1]; + block = stack2[stack2.length - 1]; continue; } if (value === CHAR_COMMA && depth > 0) { if (block.ranges > 0) { block.ranges = 0; let open = block.nodes.shift(); block.nodes = [open, { type: "text", value: stringify(block) }]; } - push({ type: "comma", value }); + push2({ type: "comma", value }); block.commas++; continue; } if (value === CHAR_DOT && depth > 0 && block.commas === 0) { let siblings = block.nodes; if (depth === 0 || siblings.length === 0) { - push({ type: "text", value }); + push2({ type: "text", value }); continue; } if (prev.type === "dot") { block.range = []; prev.value += value; @@ -1360,17 +1374,17 @@ before.value += prev.value + value; prev = before; block.ranges--; continue; } - push({ type: "dot", value }); + push2({ type: "dot", value }); continue; } - push({ type: "text", value }); + push2({ type: "text", value }); } do { - block = stack.pop(); + block = stack2.pop(); if (block.type !== "root") { block.nodes.forEach((node) => { if (!node.nodes) { if (node.type === "open") node.isOpen = true; @@ -1379,30 +1393,30 @@ if (!node.nodes) node.type = "text"; node.invalid = true; } }); - let parent = stack[stack.length - 1]; + let parent = stack2[stack2.length - 1]; let index2 = parent.nodes.indexOf(block); parent.nodes.splice(index2, 1, ...block.nodes); } - } while (stack.length > 0); - push({ type: "eos" }); + } while (stack2.length > 0); + push2({ type: "eos" }); return ast; }; - module.exports = parse3; + module.exports = parse6; } }); // node_modules/braces/index.js var require_braces = __commonJS({ "node_modules/braces/index.js"(exports, module) { "use strict"; var stringify = require_stringify(); var compile = require_compile(); var expand = require_expand(); - var parse3 = require_parse(); + var parse6 = require_parse(); var braces = (input, options8 = {}) => { let output = []; if (Array.isArray(input)) { for (let pattern of input) { let result = braces.create(pattern, options8); @@ -1418,11 +1432,11 @@ if (options8 && options8.expand === true && options8.nodupes === true) { output = [...new Set(output)]; } return output; }; - braces.parse = (input, options8 = {}) => parse3(input, options8); + braces.parse = (input, options8 = {}) => parse6(input, options8); braces.stringify = (input, options8 = {}) => { if (typeof input === "string") { return stringify(braces.parse(input, options8), options8); } return stringify(input, options8); @@ -1458,11 +1472,11 @@ // node_modules/picomatch/lib/constants.js var require_constants2 = __commonJS({ "node_modules/picomatch/lib/constants.js"(exports, module) { "use strict"; - var path9 = __require("path"); + var path13 = __require("path"); var WIN_SLASH = "\\\\/"; var WIN_NO_SLASH = `[^${WIN_SLASH}]`; var DOT_LITERAL = "\\."; var PLUS_LITERAL = "\\+"; var QMARK_LITERAL = "\\?"; @@ -1628,11 +1642,11 @@ /* _ */ CHAR_VERTICAL_LINE: 124, /* | */ CHAR_ZERO_WIDTH_NOBREAK_SPACE: 65279, /* \uFEFF */ - SEP: path9.sep, + SEP: path13.sep, /** * Create EXTGLOB_CHARS */ extglobChars(chars) { return { @@ -1655,25 +1669,25 @@ // node_modules/picomatch/lib/utils.js var require_utils2 = __commonJS({ "node_modules/picomatch/lib/utils.js"(exports) { "use strict"; - var path9 = __require("path"); + var path13 = __require("path"); var win32 = process.platform === "win32"; var { REGEX_BACKSLASH, REGEX_REMOVE_BACKSLASH, REGEX_SPECIAL_CHARS, REGEX_SPECIAL_CHARS_GLOBAL } = require_constants2(); exports.isObject = (val) => val !== null && typeof val === "object" && !Array.isArray(val); - exports.hasRegexChars = (str) => REGEX_SPECIAL_CHARS.test(str); - exports.isRegexChar = (str) => str.length === 1 && exports.hasRegexChars(str); - exports.escapeRegex = (str) => str.replace(REGEX_SPECIAL_CHARS_GLOBAL, "\\$1"); - exports.toPosixSlashes = (str) => str.replace(REGEX_BACKSLASH, "/"); - exports.removeBackslashes = (str) => { - return str.replace(REGEX_REMOVE_BACKSLASH, (match) => { + exports.hasRegexChars = (str2) => REGEX_SPECIAL_CHARS.test(str2); + exports.isRegexChar = (str2) => str2.length === 1 && exports.hasRegexChars(str2); + exports.escapeRegex = (str2) => str2.replace(REGEX_SPECIAL_CHARS_GLOBAL, "\\$1"); + exports.toPosixSlashes = (str2) => str2.replace(REGEX_BACKSLASH, "/"); + exports.removeBackslashes = (str2) => { + return str2.replace(REGEX_REMOVE_BACKSLASH, (match) => { return match === "\\" ? "" : match; }); }; exports.supportsLookbehinds = () => { const segs = process.version.slice(1).split(".").map(Number); @@ -1684,11 +1698,11 @@ }; exports.isWindows = (options8) => { if (options8 && typeof options8.windows === "boolean") { return options8.windows; } - return win32 === true || path9.sep === "\\"; + return win32 === true || path13.sep === "\\"; }; exports.escapeLast = (input, char, lastIdx) => { const idx = input.lastIndexOf(char, lastIdx); if (idx === -1) return input; @@ -1754,23 +1768,23 @@ /* ] */ } = require_constants2(); var isPathSeparator = (code) => { return code === CHAR_FORWARD_SLASH || code === CHAR_BACKWARD_SLASH; }; - var depth = (token) => { - if (token.isPrefix !== true) { - token.depth = token.isGlobstar ? Infinity : 1; + var depth = (token2) => { + if (token2.isPrefix !== true) { + token2.depth = token2.isGlobstar ? Infinity : 1; } }; var scan = (input, options8) => { const opts = options8 || {}; const length = input.length - 1; const scanToEnd = opts.parts === true || opts.scanToEnd === true; const slashes = []; const tokens = []; const parts = []; - let str = input; + let str2 = input; let index = -1; let start = 0; let lastIndex = 0; let isBrace = false; let isBracket = false; @@ -1783,63 +1797,63 @@ let negatedExtglob = false; let finished = false; let braces = 0; let prev; let code; - let token = { value: "", depth: 0, isGlob: false }; + let token2 = { value: "", depth: 0, isGlob: false }; const eos = () => index >= length; - const peek = () => str.charCodeAt(index + 1); + const peek2 = () => str2.charCodeAt(index + 1); const advance = () => { prev = code; - return str.charCodeAt(++index); + return str2.charCodeAt(++index); }; while (index < length) { code = advance(); let next; if (code === CHAR_BACKWARD_SLASH) { - backslashes = token.backslashes = true; + backslashes = token2.backslashes = true; code = advance(); if (code === CHAR_LEFT_CURLY_BRACE) { braceEscaped = true; } continue; } if (braceEscaped === true || code === CHAR_LEFT_CURLY_BRACE) { braces++; while (eos() !== true && (code = advance())) { if (code === CHAR_BACKWARD_SLASH) { - backslashes = token.backslashes = true; + backslashes = token2.backslashes = true; advance(); continue; } if (code === CHAR_LEFT_CURLY_BRACE) { braces++; continue; } if (braceEscaped !== true && code === CHAR_DOT && (code = advance()) === CHAR_DOT) { - isBrace = token.isBrace = true; - isGlob = token.isGlob = true; + isBrace = token2.isBrace = true; + isGlob = token2.isGlob = true; finished = true; if (scanToEnd === true) { continue; } break; } if (braceEscaped !== true && code === CHAR_COMMA) { - isBrace = token.isBrace = true; - isGlob = token.isGlob = true; + isBrace = token2.isBrace = true; + isGlob = token2.isGlob = true; finished = true; if (scanToEnd === true) { continue; } break; } if (code === CHAR_RIGHT_CURLY_BRACE) { braces--; if (braces === 0) { braceEscaped = false; - isBrace = token.isBrace = true; + isBrace = token2.isBrace = true; finished = true; break; } } } @@ -1848,12 +1862,12 @@ } break; } if (code === CHAR_FORWARD_SLASH) { slashes.push(index); - tokens.push(token); - token = { value: "", depth: 0, isGlob: false }; + tokens.push(token2); + token2 = { value: "", depth: 0, isGlob: false }; if (finished === true) continue; if (prev === CHAR_DOT && index === start + 1) { start += 2; continue; @@ -1861,26 +1875,26 @@ lastIndex = index + 1; continue; } if (opts.noext !== true) { const isExtglobChar = code === CHAR_PLUS || code === CHAR_AT || code === CHAR_ASTERISK || code === CHAR_QUESTION_MARK || code === CHAR_EXCLAMATION_MARK; - if (isExtglobChar === true && peek() === CHAR_LEFT_PARENTHESES) { - isGlob = token.isGlob = true; - isExtglob = token.isExtglob = true; + if (isExtglobChar === true && peek2() === CHAR_LEFT_PARENTHESES) { + isGlob = token2.isGlob = true; + isExtglob = token2.isExtglob = true; finished = true; if (code === CHAR_EXCLAMATION_MARK && index === start) { negatedExtglob = true; } if (scanToEnd === true) { while (eos() !== true && (code = advance())) { if (code === CHAR_BACKWARD_SLASH) { - backslashes = token.backslashes = true; + backslashes = token2.backslashes = true; code = advance(); continue; } if (code === CHAR_RIGHT_PARENTHESES) { - isGlob = token.isGlob = true; + isGlob = token2.isGlob = true; finished = true; break; } } continue; @@ -1888,56 +1902,56 @@ break; } } if (code === CHAR_ASTERISK) { if (prev === CHAR_ASTERISK) - isGlobstar = token.isGlobstar = true; - isGlob = token.isGlob = true; + isGlobstar = token2.isGlobstar = true; + isGlob = token2.isGlob = true; finished = true; if (scanToEnd === true) { continue; } break; } if (code === CHAR_QUESTION_MARK) { - isGlob = token.isGlob = true; + isGlob = token2.isGlob = true; finished = true; if (scanToEnd === true) { continue; } break; } if (code === CHAR_LEFT_SQUARE_BRACKET) { while (eos() !== true && (next = advance())) { if (next === CHAR_BACKWARD_SLASH) { - backslashes = token.backslashes = true; + backslashes = token2.backslashes = true; advance(); continue; } if (next === CHAR_RIGHT_SQUARE_BRACKET) { - isBracket = token.isBracket = true; - isGlob = token.isGlob = true; + isBracket = token2.isBracket = true; + isGlob = token2.isGlob = true; finished = true; break; } } if (scanToEnd === true) { continue; } break; } if (opts.nonegate !== true && code === CHAR_EXCLAMATION_MARK && index === start) { - negated = token.negated = true; + negated = token2.negated = true; start++; continue; } if (opts.noparen !== true && code === CHAR_LEFT_PARENTHESES) { - isGlob = token.isGlob = true; + isGlob = token2.isGlob = true; if (scanToEnd === true) { while (eos() !== true && (code = advance())) { if (code === CHAR_LEFT_PARENTHESES) { - backslashes = token.backslashes = true; + backslashes = token2.backslashes = true; code = advance(); continue; } if (code === CHAR_RIGHT_PARENTHESES) { finished = true; @@ -1958,28 +1972,28 @@ } if (opts.noext === true) { isExtglob = false; isGlob = false; } - let base = str; + let base = str2; let prefix = ""; let glob = ""; if (start > 0) { - prefix = str.slice(0, start); - str = str.slice(start); + prefix = str2.slice(0, start); + str2 = str2.slice(start); lastIndex -= start; } if (base && isGlob === true && lastIndex > 0) { - base = str.slice(0, lastIndex); - glob = str.slice(lastIndex); + base = str2.slice(0, lastIndex); + glob = str2.slice(lastIndex); } else if (isGlob === true) { base = ""; - glob = str; + glob = str2; } else { - base = str; + base = str2; } - if (base && base !== "" && base !== "/" && base !== str) { + if (base && base !== "" && base !== "/" && base !== str2) { if (isPathSeparator(base.charCodeAt(base.length - 1))) { base = base.slice(0, -1); } } if (opts.unescape === true) { @@ -2004,11 +2018,11 @@ negatedExtglob }; if (opts.tokens === true) { state.maxDepth = 0; if (!isPathSeparator(code)) { - tokens.push(token); + tokens.push(token2); } state.tokens = tokens; } if (opts.parts === true || opts.tokens === true) { let prevIndex; @@ -2073,14 +2087,14 @@ } catch (ex) { return args.map((v) => utils.escapeRegex(v)).join(".."); } return value; }; - var syntaxError = (type, char) => { - return `Missing ${type}: "${char}" - use "\\\\${char}" to match literal characters`; + var syntaxError2 = (type2, char) => { + return `Missing ${type2}: "${char}" - use "\\\\${char}" to match literal characters`; }; - var parse3 = (input, options8) => { + var parse6 = (input, options8) => { if (typeof input !== "string") { throw new TypeError("Expected a string"); } input = REPLACEMENTS[input] || input; const opts = { ...options8 }; @@ -2140,28 +2154,28 @@ }; input = utils.removePrefix(input, state); len = input.length; const extglobs = []; const braces = []; - const stack = []; + const stack2 = []; let prev = bos; let value; const eos = () => state.index === len - 1; - const peek = state.peek = (n = 1) => input[state.index + n]; + const peek2 = state.peek = (n = 1) => input[state.index + n]; const advance = state.advance = () => input[++state.index] || ""; const remaining = () => input.slice(state.index + 1); const consume = (value2 = "", num = 0) => { state.consumed += value2; state.index += num; }; - const append = (token) => { - state.output += token.output != null ? token.output : token.value; - consume(token.value); + const append = (token2) => { + state.output += token2.output != null ? token2.output : token2.value; + consume(token2.value); }; const negate = () => { let count = 1; - while (peek() === "!" && (peek(2) !== "(" || peek(3) === "?")) { + while (peek2() === "!" && (peek2(2) !== "(" || peek2(3) === "?")) { advance(); state.start++; count++; } if (count % 2 === 0) { @@ -2169,19 +2183,19 @@ } state.negated = true; state.start++; return true; }; - const increment = (type) => { - state[type]++; - stack.push(type); + const increment = (type2) => { + state[type2]++; + stack2.push(type2); }; - const decrement = (type) => { - state[type]--; - stack.pop(); + const decrement = (type2) => { + state[type2]--; + stack2.pop(); }; - const push = (tok) => { + const push2 = (tok) => { if (prev.type === "globstar") { const isBrace = state.braces > 0 && (tok.type === "comma" || tok.type === "brace"); const isExtglob = tok.extglob === true || extglobs.length && (tok.type === "pipe" || tok.type === "paren"); if (tok.type !== "slash" && tok.type !== "paren" && !isBrace && !isExtglob) { state.output = state.output.slice(0, -prev.output.length); @@ -2203,41 +2217,41 @@ } tok.prev = prev; tokens.push(tok); prev = tok; }; - const extglobOpen = (type, value2) => { - const token = { ...EXTGLOB_CHARS[value2], conditions: 1, inner: "" }; - token.prev = prev; - token.parens = state.parens; - token.output = state.output; - const output = (opts.capture ? "(" : "") + token.open; + const extglobOpen = (type2, value2) => { + const token2 = { ...EXTGLOB_CHARS[value2], conditions: 1, inner: "" }; + token2.prev = prev; + token2.parens = state.parens; + token2.output = state.output; + const output = (opts.capture ? "(" : "") + token2.open; increment("parens"); - push({ type, value: value2, output: state.output ? "" : ONE_CHAR }); - push({ type: "paren", extglob: true, value: advance(), output }); - extglobs.push(token); + push2({ type: type2, value: value2, output: state.output ? "" : ONE_CHAR }); + push2({ type: "paren", extglob: true, value: advance(), output }); + extglobs.push(token2); }; - const extglobClose = (token) => { - let output = token.close + (opts.capture ? ")" : ""); + const extglobClose = (token2) => { + let output = token2.close + (opts.capture ? ")" : ""); let rest; - if (token.type === "negate") { + if (token2.type === "negate") { let extglobStar = star; - if (token.inner && token.inner.length > 1 && token.inner.includes("/")) { + if (token2.inner && token2.inner.length > 1 && token2.inner.includes("/")) { extglobStar = globstar(opts); } if (extglobStar !== star || eos() || /^\)+$/.test(remaining())) { - output = token.close = `)$))${extglobStar}`; + output = token2.close = `)$))${extglobStar}`; } - if (token.inner.includes("*") && (rest = remaining()) && /^\.[^\\/.]+$/.test(rest)) { - const expression = parse3(rest, { ...options8, fastpaths: false }).output; - output = token.close = `)${expression})${extglobStar})`; + if (token2.inner.includes("*") && (rest = remaining()) && /^\.[^\\/.]+$/.test(rest)) { + const expression = parse6(rest, { ...options8, fastpaths: false }).output; + output = token2.close = `)${expression})${extglobStar})`; } - if (token.prev.type === "bos") { + if (token2.prev.type === "bos") { state.negatedExtglob = true; } } - push({ type: "paren", extglob: true, value, output }); + push2({ type: "paren", extglob: true, value, output }); decrement("parens"); }; if (opts.fastpaths !== false && !/(^[*!]|[/()[\]{}"])/.test(input)) { let backslashes = false; let output = input.replace(REGEX_SPECIAL_CHARS_BACKREF, (m, esc, chars, first, rest, index) => { @@ -2285,20 +2299,20 @@ value = advance(); if (value === "\0") { continue; } if (value === "\\") { - const next = peek(); + const next = peek2(); if (next === "/" && opts.bash !== true) { continue; } if (next === "." || next === ";") { continue; } if (!next) { value += "\\"; - push({ type: "text", value }); + push2({ type: "text", value }); continue; } const match = /^\\+/.exec(remaining()); let slashes = 0; if (match && match[0].length > 2) { @@ -2312,11 +2326,11 @@ value = advance(); } else { value += advance(); } if (state.brackets === 0) { - push({ type: "text", value }); + push2({ type: "text", value }); continue; } } if (state.brackets > 0 && (value !== "]" || prev.value === "[" || prev.value === "[^")) { if (opts.posix !== false && value === ":") { @@ -2338,11 +2352,11 @@ continue; } } } } - if (value === "[" && peek() !== ":" || value === "-" && peek() === "]") { + if (value === "[" && peek2() !== ":" || value === "-" && peek2() === "]") { value = `\\${value}`; } if (value === "]" && (prev.value === "[" || prev.value === "[^")) { value = `\\${value}`; } @@ -2360,54 +2374,54 @@ continue; } if (value === '"') { state.quotes = state.quotes === 1 ? 0 : 1; if (opts.keepQuotes === true) { - push({ type: "text", value }); + push2({ type: "text", value }); } continue; } if (value === "(") { increment("parens"); - push({ type: "paren", value }); + push2({ type: "paren", value }); continue; } if (value === ")") { if (state.parens === 0 && opts.strictBrackets === true) { - throw new SyntaxError(syntaxError("opening", "(")); + throw new SyntaxError(syntaxError2("opening", "(")); } const extglob = extglobs[extglobs.length - 1]; if (extglob && state.parens === extglob.parens + 1) { extglobClose(extglobs.pop()); continue; } - push({ type: "paren", value, output: state.parens ? ")" : "\\)" }); + push2({ type: "paren", value, output: state.parens ? ")" : "\\)" }); decrement("parens"); continue; } if (value === "[") { if (opts.nobracket === true || !remaining().includes("]")) { if (opts.nobracket !== true && opts.strictBrackets === true) { - throw new SyntaxError(syntaxError("closing", "]")); + throw new SyntaxError(syntaxError2("closing", "]")); } value = `\\${value}`; } else { increment("brackets"); } - push({ type: "bracket", value }); + push2({ type: "bracket", value }); continue; } if (value === "]") { if (opts.nobracket === true || prev && prev.type === "bracket" && prev.value.length === 1) { - push({ type: "text", value, output: `\\${value}` }); + push2({ type: "text", value, output: `\\${value}` }); continue; } if (state.brackets === 0) { if (opts.strictBrackets === true) { - throw new SyntaxError(syntaxError("opening", "[")); + throw new SyntaxError(syntaxError2("opening", "[")); } - push({ type: "text", value, output: `\\${value}` }); + push2({ type: "text", value, output: `\\${value}` }); continue; } decrement("brackets"); const prevValue = prev.value.slice(1); if (prev.posix !== true && prevValue[0] === "^" && !prevValue.includes("/")) { @@ -2437,17 +2451,17 @@ output: "(", outputIndex: state.output.length, tokensIndex: state.tokens.length }; braces.push(open); - push(open); + push2(open); continue; } if (value === "}") { const brace = braces[braces.length - 1]; if (opts.nobrace === true || !brace) { - push({ type: "text", value, output: value }); + push2({ type: "text", value, output: value }); continue; } let output = ")"; if (brace.dots === true) { const arr = tokens.slice(); @@ -2472,30 +2486,30 @@ state.output = out; for (const t of toks) { state.output += t.output || t.value; } } - push({ type: "brace", value, output }); + push2({ type: "brace", value, output }); decrement("braces"); braces.pop(); continue; } if (value === "|") { if (extglobs.length > 0) { extglobs[extglobs.length - 1].conditions++; } - push({ type: "text", value }); + push2({ type: "text", value }); continue; } if (value === ",") { let output = value; const brace = braces[braces.length - 1]; - if (brace && stack[stack.length - 1] === "braces") { + if (brace && stack2[stack2.length - 1] === "braces") { brace.comma = true; output = "|"; } - push({ type: "comma", value, output }); + push2({ type: "comma", value, output }); continue; } if (value === "/") { if (prev.type === "dot" && state.index === state.start + 1) { state.start = state.index + 1; @@ -2503,11 +2517,11 @@ state.output = ""; tokens.pop(); prev = bos; continue; } - push({ type: "slash", value, output: SLASH_LITERAL }); + push2({ type: "slash", value, output: SLASH_LITERAL }); continue; } if (value === ".") { if (state.braces > 0 && prev.type === "dot") { if (prev.value === ".") @@ -2518,75 +2532,75 @@ prev.value += value; brace.dots = true; continue; } if (state.braces + state.parens === 0 && prev.type !== "bos" && prev.type !== "slash") { - push({ type: "text", value, output: DOT_LITERAL }); + push2({ type: "text", value, output: DOT_LITERAL }); continue; } - push({ type: "dot", value, output: DOT_LITERAL }); + push2({ type: "dot", value, output: DOT_LITERAL }); continue; } if (value === "?") { const isGroup = prev && prev.value === "("; - if (!isGroup && opts.noextglob !== true && peek() === "(" && peek(2) !== "?") { + if (!isGroup && opts.noextglob !== true && peek2() === "(" && peek2(2) !== "?") { extglobOpen("qmark", value); continue; } if (prev && prev.type === "paren") { - const next = peek(); + const next = peek2(); let output = value; if (next === "<" && !utils.supportsLookbehinds()) { throw new Error("Node.js v10 or higher is required for regex lookbehinds"); } if (prev.value === "(" && !/[!=<:]/.test(next) || next === "<" && !/<([!=]|\w+>)/.test(remaining())) { output = `\\${value}`; } - push({ type: "text", value, output }); + push2({ type: "text", value, output }); continue; } if (opts.dot !== true && (prev.type === "slash" || prev.type === "bos")) { - push({ type: "qmark", value, output: QMARK_NO_DOT }); + push2({ type: "qmark", value, output: QMARK_NO_DOT }); continue; } - push({ type: "qmark", value, output: QMARK }); + push2({ type: "qmark", value, output: QMARK }); continue; } if (value === "!") { - if (opts.noextglob !== true && peek() === "(") { - if (peek(2) !== "?" || !/[!=<:]/.test(peek(3))) { + if (opts.noextglob !== true && peek2() === "(") { + if (peek2(2) !== "?" || !/[!=<:]/.test(peek2(3))) { extglobOpen("negate", value); continue; } } if (opts.nonegate !== true && state.index === 0) { negate(); continue; } } if (value === "+") { - if (opts.noextglob !== true && peek() === "(" && peek(2) !== "?") { + if (opts.noextglob !== true && peek2() === "(" && peek2(2) !== "?") { extglobOpen("plus", value); continue; } if (prev && prev.value === "(" || opts.regex === false) { - push({ type: "plus", value, output: PLUS_LITERAL }); + push2({ type: "plus", value, output: PLUS_LITERAL }); continue; } if (prev && (prev.type === "bracket" || prev.type === "paren" || prev.type === "brace") || state.parens > 0) { - push({ type: "plus", value }); + push2({ type: "plus", value }); continue; } - push({ type: "plus", value: PLUS_LITERAL }); + push2({ type: "plus", value: PLUS_LITERAL }); continue; } if (value === "@") { - if (opts.noextglob !== true && peek() === "(" && peek(2) !== "?") { - push({ type: "at", extglob: true, value, output: "" }); + if (opts.noextglob !== true && peek2() === "(" && peek2(2) !== "?") { + push2({ type: "at", extglob: true, value, output: "" }); continue; } - push({ type: "text", value }); + push2({ type: "text", value }); continue; } if (value !== "*") { if (value === "$" || value === "^") { value = `\\${value}`; @@ -2594,11 +2608,11 @@ const match = REGEX_NON_SPECIAL_CHARS.exec(remaining()); if (match) { value += match[0]; state.index += match[0].length; } - push({ type: "text", value }); + push2({ type: "text", value }); continue; } if (prev && (prev.type === "globstar" || prev.star === true)) { prev.type = "star"; prev.star = true; @@ -2622,17 +2636,17 @@ const prior = prev.prev; const before = prior.prev; const isStart = prior.type === "slash" || prior.type === "bos"; const afterStar = before && (before.type === "star" || before.type === "globstar"); if (opts.bash === true && (!isStart || rest[0] && rest[0] !== "/")) { - push({ type: "star", value, output: "" }); + push2({ type: "star", value, output: "" }); continue; } const isBrace = state.braces > 0 && (prior.type === "comma" || prior.type === "brace"); const isExtglob = extglobs.length && (prior.type === "pipe" || prior.type === "paren"); if (!isStart && prior.type !== "paren" && !isBrace && !isExtglob) { - push({ type: "star", value, output: "" }); + push2({ type: "star", value, output: "" }); continue; } while (rest.slice(0, 3) === "/**") { const after = input[state.index + 4]; if (after && after !== "/") { @@ -2669,21 +2683,21 @@ prev.output = `${globstar(opts)}${SLASH_LITERAL}|${SLASH_LITERAL}${end})`; prev.value += value; state.output += prior.output + prev.output; state.globstar = true; consume(value + advance()); - push({ type: "slash", value: "/", output: "" }); + push2({ type: "slash", value: "/", output: "" }); continue; } if (prior.type === "bos" && rest[0] === "/") { prev.type = "globstar"; prev.value += value; prev.output = `(?:^|${SLASH_LITERAL}|${globstar(opts)}${SLASH_LITERAL})`; state.output = prev.output; state.globstar = true; consume(value + advance()); - push({ type: "slash", value: "/", output: "" }); + push2({ type: "slash", value: "/", output: "" }); continue; } state.output = state.output.slice(0, -prev.output.length); prev.type = "globstar"; prev.output = globstar(opts); @@ -2691,22 +2705,22 @@ state.output += prev.output; state.globstar = true; consume(value); continue; } - const token = { type: "star", value, output: star }; + const token2 = { type: "star", value, output: star }; if (opts.bash === true) { - token.output = ".*?"; + token2.output = ".*?"; if (prev.type === "bos" || prev.type === "slash") { - token.output = nodot + token.output; + token2.output = nodot + token2.output; } - push(token); + push2(token2); continue; } if (prev && (prev.type === "bracket" || prev.type === "paren") && opts.regex === true) { - token.output = value; - push(token); + token2.output = value; + push2(token2); continue; } if (state.index === state.start || prev.type === "slash" || prev.type === "dot") { if (prev.type === "dot") { state.output += NO_DOT_SLASH; @@ -2716,50 +2730,50 @@ prev.output += NO_DOTS_SLASH; } else { state.output += nodot; prev.output += nodot; } - if (peek() !== "*") { + if (peek2() !== "*") { state.output += ONE_CHAR; prev.output += ONE_CHAR; } } - push(token); + push2(token2); } while (state.brackets > 0) { if (opts.strictBrackets === true) - throw new SyntaxError(syntaxError("closing", "]")); + throw new SyntaxError(syntaxError2("closing", "]")); state.output = utils.escapeLast(state.output, "["); decrement("brackets"); } while (state.parens > 0) { if (opts.strictBrackets === true) - throw new SyntaxError(syntaxError("closing", ")")); + throw new SyntaxError(syntaxError2("closing", ")")); state.output = utils.escapeLast(state.output, "("); decrement("parens"); } while (state.braces > 0) { if (opts.strictBrackets === true) - throw new SyntaxError(syntaxError("closing", "}")); + throw new SyntaxError(syntaxError2("closing", "}")); state.output = utils.escapeLast(state.output, "{"); decrement("braces"); } if (opts.strictSlashes !== true && (prev.type === "star" || prev.type === "bracket")) { - push({ type: "maybe_slash", value: "", output: `${SLASH_LITERAL}?` }); + push2({ type: "maybe_slash", value: "", output: `${SLASH_LITERAL}?` }); } if (state.backtrack === true) { state.output = ""; - for (const token of state.tokens) { - state.output += token.output != null ? token.output : token.value; - if (token.suffix) { - state.output += token.suffix; + for (const token2 of state.tokens) { + state.output += token2.output != null ? token2.output : token2.value; + if (token2.suffix) { + state.output += token2.suffix; } } } return state; }; - parse3.fastpaths = (input, options8) => { + parse6.fastpaths = (input, options8) => { const opts = { ...options8 }; const max = typeof opts.maxLength === "number" ? Math.min(MAX_LENGTH, opts.maxLength) : MAX_LENGTH; const len = input.length; if (len > max) { throw new SyntaxError(`Input length: ${len}, exceeds maximum allowed length: ${max}`); @@ -2788,12 +2802,12 @@ const globstar = (opts2) => { if (opts2.noglobstar === true) return star; return `(${capture}(?:(?!${START_ANCHOR}${opts2.dot ? DOTS_SLASH : DOT_LITERAL}).)*?)`; }; - const create = (str) => { - switch (str) { + const create = (str2) => { + switch (str2) { case "*": return `${nodot}${ONE_CHAR}${star}`; case ".*": return `${DOT_LITERAL}${ONE_CHAR}${star}`; case "*.*": @@ -2807,55 +2821,55 @@ case "**/*.*": return `(?:${nodot}${globstar(opts)}${SLASH_LITERAL})?${slashDot}${star}${DOT_LITERAL}${ONE_CHAR}${star}`; case "**/.*": return `(?:${nodot}${globstar(opts)}${SLASH_LITERAL})?${DOT_LITERAL}${ONE_CHAR}${star}`; default: { - const match = /^(.*?)\.(\w+)$/.exec(str); + const match = /^(.*?)\.(\w+)$/.exec(str2); if (!match) return; - const source2 = create(match[1]); - if (!source2) + const source3 = create(match[1]); + if (!source3) return; - return source2 + DOT_LITERAL + match[2]; + return source3 + DOT_LITERAL + match[2]; } } }; const output = utils.removePrefix(input, state); - let source = create(output); - if (source && opts.strictSlashes !== true) { - source += `${SLASH_LITERAL}?`; + let source2 = create(output); + if (source2 && opts.strictSlashes !== true) { + source2 += `${SLASH_LITERAL}?`; } - return source; + return source2; }; - module.exports = parse3; + module.exports = parse6; } }); // node_modules/picomatch/lib/picomatch.js var require_picomatch = __commonJS({ "node_modules/picomatch/lib/picomatch.js"(exports, module) { "use strict"; - var path9 = __require("path"); + var path13 = __require("path"); var scan = require_scan(); - var parse3 = require_parse2(); + var parse6 = require_parse2(); var utils = require_utils2(); var constants = require_constants2(); - var isObject2 = (val) => val && typeof val === "object" && !Array.isArray(val); + var isObject3 = (val) => val && typeof val === "object" && !Array.isArray(val); var picomatch = (glob, options8, returnState = false) => { if (Array.isArray(glob)) { const fns = glob.map((input) => picomatch(input, options8, returnState)); - const arrayMatcher = (str) => { + const arrayMatcher = (str2) => { for (const isMatch of fns) { - const state2 = isMatch(str); + const state2 = isMatch(str2); if (state2) return state2; } return false; }; return arrayMatcher; } - const isState = isObject2(glob) && glob.tokens && glob.input; + const isState = isObject3(glob) && glob.tokens && glob.input; if (glob === "" || typeof glob !== "string" && !isState) { throw new TypeError("Expected pattern to be a non-empty string"); } const opts = options8 || {}; const posix = utils.isWindows(options8); @@ -2918,31 +2932,31 @@ } return { isMatch: Boolean(match), match, output }; }; picomatch.matchBase = (input, glob, options8, posix = utils.isWindows(options8)) => { const regex = glob instanceof RegExp ? glob : picomatch.makeRe(glob, options8); - return regex.test(path9.basename(input)); + return regex.test(path13.basename(input)); }; - picomatch.isMatch = (str, patterns, options8) => picomatch(patterns, options8)(str); + picomatch.isMatch = (str2, patterns, options8) => picomatch(patterns, options8)(str2); picomatch.parse = (pattern, options8) => { if (Array.isArray(pattern)) return pattern.map((p) => picomatch.parse(p, options8)); - return parse3(pattern, { ...options8, fastpaths: false }); + return parse6(pattern, { ...options8, fastpaths: false }); }; picomatch.scan = (input, options8) => scan(input, options8); picomatch.compileRe = (state, options8, returnOutput = false, returnState = false) => { if (returnOutput === true) { return state.output; } const opts = options8 || {}; const prepend = opts.contains ? "" : "^"; const append = opts.contains ? "" : "$"; - let source = `${prepend}(?:${state.output})${append}`; + let source2 = `${prepend}(?:${state.output})${append}`; if (state && state.negated === true) { - source = `^(?!${source}).*$`; + source2 = `^(?!${source2}).*$`; } - const regex = picomatch.toRegex(source, options8); + const regex = picomatch.toRegex(source2, options8); if (returnState === true) { regex.state = state; } return regex; }; @@ -2950,21 +2964,21 @@ if (!input || typeof input !== "string") { throw new TypeError("Expected a non-empty string"); } let parsed = { negated: false, fastpaths: true }; if (options8.fastpaths !== false && (input[0] === "." || input[0] === "*")) { - parsed.output = parse3.fastpaths(input, options8); + parsed.output = parse6.fastpaths(input, options8); } if (!parsed.output) { - parsed = parse3(input, options8); + parsed = parse6(input, options8); } return picomatch.compileRe(parsed, options8, returnOutput, returnState); }; - picomatch.toRegex = (source, options8) => { + picomatch.toRegex = (source2, options8) => { try { const opts = options8 || {}; - return new RegExp(source, opts.flags || (opts.nocase ? "i" : "")); + return new RegExp(source2, opts.flags || (opts.nocase ? "i" : "")); } catch (err) { if (options8 && options8.debug === true) throw err; return /$^/; } @@ -2984,11 +2998,11 @@ // node_modules/micromatch/index.js var require_micromatch = __commonJS({ "node_modules/micromatch/index.js"(exports, module) { "use strict"; - var util = __require("util"); + var util2 = __require("util"); var braces = require_braces(); var picomatch = require_picomatch2(); var utils = require_utils2(); var isEmptyString = (val) => val === "" || val === "./"; var micromatch2 = (list, patterns, options8) => { @@ -3034,11 +3048,11 @@ } return matches; }; micromatch2.match = micromatch2; micromatch2.matcher = (pattern, options8) => picomatch(pattern, options8); - micromatch2.isMatch = (str, patterns, options8) => picomatch(patterns, options8)(str); + micromatch2.isMatch = (str2, patterns, options8) => picomatch(patterns, options8)(str2); micromatch2.any = micromatch2.isMatch; micromatch2.not = (list, patterns, options8 = {}) => { patterns = [].concat(patterns).map(String); let result = /* @__PURE__ */ new Set(); let items = []; @@ -3053,35 +3067,35 @@ result.add(item); } } return [...result]; }; - micromatch2.contains = (str, pattern, options8) => { - if (typeof str !== "string") { - throw new TypeError(`Expected a string: "${util.inspect(str)}"`); + micromatch2.contains = (str2, pattern, options8) => { + if (typeof str2 !== "string") { + throw new TypeError(`Expected a string: "${util2.inspect(str2)}"`); } if (Array.isArray(pattern)) { - return pattern.some((p) => micromatch2.contains(str, p, options8)); + return pattern.some((p) => micromatch2.contains(str2, p, options8)); } if (typeof pattern === "string") { - if (isEmptyString(str) || isEmptyString(pattern)) { + if (isEmptyString(str2) || isEmptyString(pattern)) { return false; } - if (str.includes(pattern) || str.startsWith("./") && str.slice(2).includes(pattern)) { + if (str2.includes(pattern) || str2.startsWith("./") && str2.slice(2).includes(pattern)) { return true; } } - return micromatch2.isMatch(str, pattern, { ...options8, contains: true }); + return micromatch2.isMatch(str2, pattern, { ...options8, contains: true }); }; micromatch2.matchKeys = (obj, patterns, options8) => { if (!utils.isObject(obj)) { throw new TypeError("Expected the first argument to be an object"); } let keys = micromatch2(Object.keys(obj), patterns, options8); let res = {}; - for (let key of keys) - res[key] = obj[key]; + for (let key2 of keys) + res[key2] = obj[key2]; return res; }; micromatch2.some = (list, patterns, options8) => { let items = [].concat(list); for (let pattern of [].concat(patterns)) { @@ -3100,15 +3114,15 @@ return false; } } return true; }; - micromatch2.all = (str, patterns, options8) => { - if (typeof str !== "string") { - throw new TypeError(`Expected a string: "${util.inspect(str)}"`); + micromatch2.all = (str2, patterns, options8) => { + if (typeof str2 !== "string") { + throw new TypeError(`Expected a string: "${util2.inspect(str2)}"`); } - return [].concat(patterns).every((p) => picomatch(p, options8)(str)); + return [].concat(patterns).every((p) => picomatch(p, options8)(str2)); }; micromatch2.capture = (glob, input, options8) => { let posix = utils.isWindows(options8); let regex = picomatch.makeRe(String(glob), { ...options8, capture: true }); let match = regex.exec(posix ? utils.toPosixSlashes(input) : input); @@ -3119,12 +3133,12 @@ micromatch2.makeRe = (...args) => picomatch.makeRe(...args); micromatch2.scan = (...args) => picomatch.scan(...args); micromatch2.parse = (patterns, options8) => { let res = []; for (let pattern of [].concat(patterns || [])) { - for (let str of braces(String(pattern), options8)) { - res.push(picomatch.parse(str, options8)); + for (let str2 of braces(String(pattern), options8)) { + res.push(picomatch.parse(str2, options8)); } } return res; }; micromatch2.braces = (pattern, options8) => { @@ -3148,11 +3162,11 @@ var require_pattern = __commonJS({ "node_modules/fast-glob/out/utils/pattern.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.removeDuplicateSlashes = exports.matchAny = exports.convertPatternsToRe = exports.makeRe = exports.getPatternParts = exports.expandBraceExpansion = exports.expandPatternsWithBraceExpansion = exports.isAffectDepthOfReadingPattern = exports.endsWithSlashGlobStar = exports.hasGlobStar = exports.getBaseDirectory = exports.isPatternRelatedToParentDirectory = exports.getPatternsOutsideCurrentDirectory = exports.getPatternsInsideCurrentDirectory = exports.getPositivePatterns = exports.getNegativePatterns = exports.isPositivePattern = exports.isNegativePattern = exports.convertToNegativePattern = exports.convertToPositivePattern = exports.isDynamicPattern = exports.isStaticPattern = void 0; - var path9 = __require("path"); + var path13 = __require("path"); var globParent = require_glob_parent(); var micromatch2 = require_micromatch(); var GLOBSTAR = "**"; var ESCAPE_SYMBOL = "\\"; var COMMON_GLOB_SYMBOLS_RE = /[*?]|^!/; @@ -3243,22 +3257,22 @@ function endsWithSlashGlobStar(pattern) { return pattern.endsWith("/" + GLOBSTAR); } exports.endsWithSlashGlobStar = endsWithSlashGlobStar; function isAffectDepthOfReadingPattern(pattern) { - const basename = path9.basename(pattern); + const basename = path13.basename(pattern); return endsWithSlashGlobStar(pattern) || isStaticPattern(basename); } exports.isAffectDepthOfReadingPattern = isAffectDepthOfReadingPattern; function expandPatternsWithBraceExpansion(patterns) { return patterns.reduce((collection, pattern) => { return collection.concat(expandBraceExpansion(pattern)); }, []); } exports.expandPatternsWithBraceExpansion = expandPatternsWithBraceExpansion; function expandBraceExpansion(pattern) { - const patterns = micromatch2.braces(pattern, { expand: true, nodupes: true }); + const patterns = micromatch2.braces(pattern, { expand: true, nodupes: true, keepEscaping: true }); patterns.sort((a, b) => a.length - b.length); return patterns.filter((pattern2) => pattern2 !== ""); } exports.expandBraceExpansion = expandBraceExpansion; function getPatternParts(pattern, options8) { @@ -3416,20 +3430,20 @@ "node_modules/fast-glob/out/utils/stream.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.merge = void 0; var merge2 = require_merge2(); - function merge(streams) { + function merge3(streams) { const mergedStream = merge2(streams); streams.forEach((stream) => { stream.once("error", (error) => mergedStream.emit("error", error)); }); mergedStream.once("close", () => propagateCloseEventToSources(streams)); mergedStream.once("end", () => propagateCloseEventToSources(streams)); return mergedStream; } - exports.merge = merge; + exports.merge = merge3; function propagateCloseEventToSources(streams) { streams.forEach((stream) => stream.emit("close")); } } }); @@ -3459,14 +3473,14 @@ exports.string = exports.stream = exports.pattern = exports.path = exports.fs = exports.errno = exports.array = void 0; var array2 = require_array(); exports.array = array2; var errno = require_errno(); exports.errno = errno; - var fs5 = require_fs(); - exports.fs = fs5; - var path9 = require_path(); - exports.path = path9; + var fs7 = require_fs(); + exports.fs = fs7; + var path13 = require_path(); + exports.path = path13; var pattern = require_pattern(); exports.pattern = pattern; var stream = require_stream(); exports.stream = stream; var string = require_string(); @@ -3574,21 +3588,21 @@ var require_async = __commonJS({ "node_modules/@nodelib/fs.stat/out/providers/async.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.read = void 0; - function read2(path9, settings, callback) { - settings.fs.lstat(path9, (lstatError, lstat) => { + function read3(path13, settings, callback) { + settings.fs.lstat(path13, (lstatError, lstat) => { if (lstatError !== null) { callFailureCallback(callback, lstatError); return; } if (!lstat.isSymbolicLink() || !settings.followSymbolicLink) { callSuccessCallback(callback, lstat); return; } - settings.fs.stat(path9, (statError, stat) => { + settings.fs.stat(path13, (statError, stat) => { if (statError !== null) { if (settings.throwErrorOnBrokenSymbolicLink) { callFailureCallback(callback, statError); return; } @@ -3600,11 +3614,11 @@ } callSuccessCallback(callback, stat); }); }); } - exports.read = read2; + exports.read = read3; function callFailureCallback(callback, error) { callback(error); } function callSuccessCallback(callback, result) { callback(null, result); @@ -3616,17 +3630,17 @@ var require_sync = __commonJS({ "node_modules/@nodelib/fs.stat/out/providers/sync.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.read = void 0; - function read2(path9, settings) { - const lstat = settings.fs.lstatSync(path9); + function read3(path13, settings) { + const lstat = settings.fs.lstatSync(path13); if (!lstat.isSymbolicLink() || !settings.followSymbolicLink) { return lstat; } try { - const stat = settings.fs.statSync(path9); + const stat = settings.fs.statSync(path13); if (settings.markSymbolicLink) { stat.isSymbolicLink = () => true; } return stat; } catch (error) { @@ -3634,26 +3648,26 @@ return lstat; } throw error; } } - exports.read = read2; + exports.read = read3; } }); // node_modules/@nodelib/fs.stat/out/adapters/fs.js var require_fs2 = __commonJS({ "node_modules/@nodelib/fs.stat/out/adapters/fs.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.createFileSystemAdapter = exports.FILE_SYSTEM_ADAPTER = void 0; - var fs5 = __require("fs"); + var fs7 = __require("fs"); exports.FILE_SYSTEM_ADAPTER = { - lstat: fs5.lstat, - stat: fs5.stat, - lstatSync: fs5.lstatSync, - statSync: fs5.statSync + lstat: fs7.lstat, + stat: fs7.stat, + lstatSync: fs7.lstatSync, + statSync: fs7.statSync }; function createFileSystemAdapter(fsMethods) { if (fsMethods === void 0) { return exports.FILE_SYSTEM_ADAPTER; } @@ -3666,16 +3680,16 @@ // node_modules/@nodelib/fs.stat/out/settings.js var require_settings = __commonJS({ "node_modules/@nodelib/fs.stat/out/settings.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); - var fs5 = require_fs2(); + var fs7 = require_fs2(); var Settings = class { constructor(_options = {}) { this._options = _options; this.followSymbolicLink = this._getValue(this._options.followSymbolicLink, true); - this.fs = fs5.createFileSystemAdapter(this._options.fs); + this.fs = fs7.createFileSystemAdapter(this._options.fs); this.markSymbolicLink = this._getValue(this._options.markSymbolicLink, false); this.throwErrorOnBrokenSymbolicLink = this._getValue(this._options.throwErrorOnBrokenSymbolicLink, true); } _getValue(option, value) { return option !== null && option !== void 0 ? option : value; @@ -3693,21 +3707,21 @@ exports.statSync = exports.stat = exports.Settings = void 0; var async = require_async(); var sync = require_sync(); var settings_1 = require_settings(); exports.Settings = settings_1.default; - function stat(path9, optionsOrSettingsOrCallback, callback) { + function stat(path13, optionsOrSettingsOrCallback, callback) { if (typeof optionsOrSettingsOrCallback === "function") { - async.read(path9, getSettings(), optionsOrSettingsOrCallback); + async.read(path13, getSettings(), optionsOrSettingsOrCallback); return; } - async.read(path9, getSettings(optionsOrSettingsOrCallback), callback); + async.read(path13, getSettings(optionsOrSettingsOrCallback), callback); } exports.stat = stat; - function statSync2(path9, optionsOrSettings) { + function statSync2(path13, optionsOrSettings) { const settings = getSettings(optionsOrSettings); - return sync.read(path9, settings); + return sync.read(path13, settings); } exports.statSync = statSync2; function getSettings(settingsOrOptions = {}) { if (settingsOrOptions instanceof settings_1.default) { return settingsOrOptions; @@ -3761,13 +3775,13 @@ } } if (!pending) { done(null); } else if (keys) { - keys.forEach(function(key) { - tasks[key](function(err, result) { - each(key, err, result); + keys.forEach(function(key2) { + tasks[key2](function(err, result) { + each(key2, err, result); }); }); } else { tasks.forEach(function(task, i) { task(function(err, result) { @@ -3829,12 +3843,12 @@ var require_utils4 = __commonJS({ "node_modules/@nodelib/fs.scandir/out/utils/index.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.fs = void 0; - var fs5 = require_fs3(); - exports.fs = fs5; + var fs7 = require_fs3(); + exports.fs = fs7; } }); // node_modules/@nodelib/fs.scandir/out/providers/common.js var require_common = __commonJS({ @@ -3860,29 +3874,29 @@ exports.readdir = exports.readdirWithFileTypes = exports.read = void 0; var fsStat = require_out(); var rpl = require_run_parallel(); var constants_1 = require_constants3(); var utils = require_utils4(); - var common = require_common(); - function read2(directory, settings, callback) { + var common2 = require_common(); + function read3(directory, settings, callback) { if (!settings.stats && constants_1.IS_SUPPORT_READDIR_WITH_FILE_TYPES) { readdirWithFileTypes(directory, settings, callback); return; } readdir(directory, settings, callback); } - exports.read = read2; + exports.read = read3; function readdirWithFileTypes(directory, settings, callback) { settings.fs.readdir(directory, { withFileTypes: true }, (readdirError, dirents) => { if (readdirError !== null) { callFailureCallback(callback, readdirError); return; } const entries = dirents.map((dirent) => ({ dirent, name: dirent.name, - path: common.joinPathSegments(directory, dirent.name, settings.pathSegmentSeparator) + path: common2.joinPathSegments(directory, dirent.name, settings.pathSegmentSeparator) })); if (!settings.followSymbolicLinks) { callSuccessCallback(callback, entries); return; } @@ -3922,20 +3936,20 @@ if (readdirError !== null) { callFailureCallback(callback, readdirError); return; } const tasks = names.map((name) => { - const path9 = common.joinPathSegments(directory, name, settings.pathSegmentSeparator); + const path13 = common2.joinPathSegments(directory, name, settings.pathSegmentSeparator); return (done) => { - fsStat.stat(path9, settings.fsStatSettings, (error, stats) => { + fsStat.stat(path13, settings.fsStatSettings, (error, stats) => { if (error !== null) { done(error); return; } const entry = { name, - path: path9, + path: path13, dirent: utils.fs.createDirentFromStats(name, stats) }; if (settings.stats) { entry.stats = stats; } @@ -3969,25 +3983,25 @@ Object.defineProperty(exports, "__esModule", { value: true }); exports.readdir = exports.readdirWithFileTypes = exports.read = void 0; var fsStat = require_out(); var constants_1 = require_constants3(); var utils = require_utils4(); - var common = require_common(); - function read2(directory, settings) { + var common2 = require_common(); + function read3(directory, settings) { if (!settings.stats && constants_1.IS_SUPPORT_READDIR_WITH_FILE_TYPES) { return readdirWithFileTypes(directory, settings); } return readdir(directory, settings); } - exports.read = read2; + exports.read = read3; function readdirWithFileTypes(directory, settings) { const dirents = settings.fs.readdirSync(directory, { withFileTypes: true }); return dirents.map((dirent) => { const entry = { dirent, name: dirent.name, - path: common.joinPathSegments(directory, dirent.name, settings.pathSegmentSeparator) + path: common2.joinPathSegments(directory, dirent.name, settings.pathSegmentSeparator) }; if (entry.dirent.isSymbolicLink() && settings.followSymbolicLinks) { try { const stats = settings.fs.statSync(entry.path); entry.dirent = utils.fs.createDirentFromStats(entry.name, stats); @@ -4002,11 +4016,11 @@ } exports.readdirWithFileTypes = readdirWithFileTypes; function readdir(directory, settings) { const names = settings.fs.readdirSync(directory); return names.map((name) => { - const entryPath = common.joinPathSegments(directory, name, settings.pathSegmentSeparator); + const entryPath = common2.joinPathSegments(directory, name, settings.pathSegmentSeparator); const stats = fsStat.statSync(entryPath, settings.fsStatSettings); const entry = { name, path: entryPath, dirent: utils.fs.createDirentFromStats(name, stats) @@ -4025,18 +4039,18 @@ var require_fs4 = __commonJS({ "node_modules/@nodelib/fs.scandir/out/adapters/fs.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.createFileSystemAdapter = exports.FILE_SYSTEM_ADAPTER = void 0; - var fs5 = __require("fs"); + var fs7 = __require("fs"); exports.FILE_SYSTEM_ADAPTER = { - lstat: fs5.lstat, - stat: fs5.stat, - lstatSync: fs5.lstatSync, - statSync: fs5.statSync, - readdir: fs5.readdir, - readdirSync: fs5.readdirSync + lstat: fs7.lstat, + stat: fs7.stat, + lstatSync: fs7.lstatSync, + statSync: fs7.statSync, + readdir: fs7.readdir, + readdirSync: fs7.readdirSync }; function createFileSystemAdapter(fsMethods) { if (fsMethods === void 0) { return exports.FILE_SYSTEM_ADAPTER; } @@ -4049,19 +4063,19 @@ // node_modules/@nodelib/fs.scandir/out/settings.js var require_settings2 = __commonJS({ "node_modules/@nodelib/fs.scandir/out/settings.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); - var path9 = __require("path"); + var path13 = __require("path"); var fsStat = require_out(); - var fs5 = require_fs4(); + var fs7 = require_fs4(); var Settings = class { constructor(_options = {}) { this._options = _options; this.followSymbolicLinks = this._getValue(this._options.followSymbolicLinks, false); - this.fs = fs5.createFileSystemAdapter(this._options.fs); - this.pathSegmentSeparator = this._getValue(this._options.pathSegmentSeparator, path9.sep); + this.fs = fs7.createFileSystemAdapter(this._options.fs); + this.pathSegmentSeparator = this._getValue(this._options.pathSegmentSeparator, path13.sep); this.stats = this._getValue(this._options.stats, false); this.throwErrorOnBrokenSymbolicLink = this._getValue(this._options.throwErrorOnBrokenSymbolicLink, true); this.fsStatSettings = new fsStat.Settings({ followSymbolicLink: this.followSymbolicLinks, fs: this.fs, @@ -4084,21 +4098,21 @@ exports.Settings = exports.scandirSync = exports.scandir = void 0; var async = require_async2(); var sync = require_sync2(); var settings_1 = require_settings2(); exports.Settings = settings_1.default; - function scandir(path9, optionsOrSettingsOrCallback, callback) { + function scandir(path13, optionsOrSettingsOrCallback, callback) { if (typeof optionsOrSettingsOrCallback === "function") { - async.read(path9, getSettings(), optionsOrSettingsOrCallback); + async.read(path13, getSettings(), optionsOrSettingsOrCallback); return; } - async.read(path9, getSettings(optionsOrSettingsOrCallback), callback); + async.read(path13, getSettings(optionsOrSettingsOrCallback), callback); } exports.scandir = scandir; - function scandirSync(path9, optionsOrSettings) { + function scandirSync(path13, optionsOrSettings) { const settings = getSettings(optionsOrSettings); - return sync.read(path9, settings); + return sync.read(path13, settings); } exports.scandirSync = scandirSync; function getSettings(settingsOrOptions = {}) { if (settingsOrOptions instanceof settings_1.default) { return settingsOrOptions; @@ -4151,17 +4165,17 @@ context = null; } if (concurrency < 1) { throw new Error("fastqueue concurrency must be greater than 1"); } - var cache = reusify(Task); + var cache3 = reusify(Task); var queueHead = null; var queueTail = null; var _running = 0; var errorHandler = null; var self = { - push, + push: push2, drain: noop2, saturated: noop2, pause, paused: false, concurrency, @@ -4211,12 +4225,12 @@ } } function idle() { return _running === 0 && self.length() === 0; } - function push(value, done) { - var current = cache.get(); + function push2(value, done) { + var current = cache3.get(); current.context = context; current.release = release; current.value = value; current.callback = done || noop2; current.errorHandler = errorHandler; @@ -4233,11 +4247,11 @@ _running++; worker.call(context, current.value, current.worked); } } function unshift(value, done) { - var current = cache.get(); + var current = cache3.get(); current.context = context; current.release = release; current.value = value; current.callback = done || noop2; if (_running === self.concurrency || self.paused) { @@ -4254,11 +4268,11 @@ worker.call(context, current.value, current.worked); } } function release(holder) { if (holder) { - cache.release(holder); + cache3.release(holder); } var next = queueHead; if (next) { if (!self.paused) { if (queueTail === queueHead) { @@ -4327,51 +4341,51 @@ }, cb); } var queue = fastqueue(context, asyncWrapper, concurrency); var pushCb = queue.push; var unshiftCb = queue.unshift; - queue.push = push; + queue.push = push2; queue.unshift = unshift; queue.drained = drained; return queue; - function push(value) { - var p = new Promise(function(resolve2, reject) { + function push2(value) { + var p = new Promise(function(resolve3, reject) { pushCb(value, function(err, result) { if (err) { reject(err); return; } - resolve2(result); + resolve3(result); }); }); p.catch(noop2); return p; } function unshift(value) { - var p = new Promise(function(resolve2, reject) { + var p = new Promise(function(resolve3, reject) { unshiftCb(value, function(err, result) { if (err) { reject(err); return; } - resolve2(result); + resolve3(result); }); }); p.catch(noop2); return p; } function drained() { if (queue.idle()) { - return new Promise(function(resolve2) { - resolve2(); + return new Promise(function(resolve3) { + resolve3(); }); } var previousDrain = queue.drain; - var p = new Promise(function(resolve2) { + var p = new Promise(function(resolve3) { queue.drain = function() { previousDrain(); - resolve2(); + resolve3(); }; }); return p; } } @@ -4391,12 +4405,12 @@ return true; } return !settings.errorFilter(error); } exports.isFatalError = isFatalError; - function isAppliedFilter(filter, value) { - return filter === null || filter(value); + function isAppliedFilter(filter2, value) { + return filter2 === null || filter2(value); } exports.isAppliedFilter = isAppliedFilter; function replacePathSegmentSeparator(filepath, separator) { return filepath.split(/[/\\]/).join(separator); } @@ -4417,16 +4431,16 @@ // node_modules/@nodelib/fs.walk/out/readers/reader.js var require_reader = __commonJS({ "node_modules/@nodelib/fs.walk/out/readers/reader.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); - var common = require_common2(); + var common2 = require_common2(); var Reader = class { constructor(_root, _settings) { this._root = _root; this._settings = _settings; - this._root = common.replacePathSegmentSeparator(_root, _settings.pathSegmentSeparator); + this._root = common2.replacePathSegmentSeparator(_root, _settings.pathSegmentSeparator); } }; exports.default = Reader; } }); @@ -4437,11 +4451,11 @@ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var events_1 = __require("events"); var fsScandir = require_out2(); var fastq = require_queue(); - var common = require_common2(); + var common2 = require_common2(); var reader_1 = require_reader(); var AsyncReader = class extends reader_1.default { constructor(_root, _settings) { super(_root, _settings); this._settings = _settings; @@ -4502,11 +4516,11 @@ } done(null, void 0); }); } _handleError(error) { - if (this._isDestroyed || !common.isFatalError(this._settings, error)) { + if (this._isDestroyed || !common2.isFatalError(this._settings, error)) { return; } this._isFatalError = true; this._isDestroyed = true; this._emitter.emit("error", error); @@ -4515,16 +4529,16 @@ if (this._isDestroyed || this._isFatalError) { return; } const fullpath = entry.path; if (base !== void 0) { - entry.path = common.joinPathSegments(base, entry.name, this._settings.pathSegmentSeparator); + entry.path = common2.joinPathSegments(base, entry.name, this._settings.pathSegmentSeparator); } - if (common.isAppliedFilter(this._settings.entryFilter, entry)) { + if (common2.isAppliedFilter(this._settings.entryFilter, entry)) { this._emitEntry(entry); } - if (entry.dirent.isDirectory() && common.isAppliedFilter(this._settings.deepFilter, entry)) { + if (entry.dirent.isDirectory() && common2.isAppliedFilter(this._settings.deepFilter, entry)) { this._pushToQueue(fullpath, base === void 0 ? void 0 : entry.path); } } _emitEntry(entry) { this._emitter.emit("entry", entry); @@ -4615,11 +4629,11 @@ var require_sync3 = __commonJS({ "node_modules/@nodelib/fs.walk/out/readers/sync.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var fsScandir = require_out2(); - var common = require_common2(); + var common2 = require_common2(); var reader_1 = require_reader(); var SyncReader = class extends reader_1.default { constructor() { super(...arguments); this._scandir = fsScandir.scandirSync; @@ -4648,24 +4662,24 @@ } catch (error) { this._handleError(error); } } _handleError(error) { - if (!common.isFatalError(this._settings, error)) { + if (!common2.isFatalError(this._settings, error)) { return; } throw error; } _handleEntry(entry, base) { const fullpath = entry.path; if (base !== void 0) { - entry.path = common.joinPathSegments(base, entry.name, this._settings.pathSegmentSeparator); + entry.path = common2.joinPathSegments(base, entry.name, this._settings.pathSegmentSeparator); } - if (common.isAppliedFilter(this._settings.entryFilter, entry)) { + if (common2.isAppliedFilter(this._settings.entryFilter, entry)) { this._pushToStorage(entry); } - if (entry.dirent.isDirectory() && common.isAppliedFilter(this._settings.deepFilter, entry)) { + if (entry.dirent.isDirectory() && common2.isAppliedFilter(this._settings.deepFilter, entry)) { this._pushToQueue(fullpath, base === void 0 ? void 0 : entry.path); } } _pushToStorage(entry) { this._storage.push(entry); @@ -4698,21 +4712,21 @@ // node_modules/@nodelib/fs.walk/out/settings.js var require_settings3 = __commonJS({ "node_modules/@nodelib/fs.walk/out/settings.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); - var path9 = __require("path"); + var path13 = __require("path"); var fsScandir = require_out2(); var Settings = class { constructor(_options = {}) { this._options = _options; this.basePath = this._getValue(this._options.basePath, void 0); this.concurrency = this._getValue(this._options.concurrency, Number.POSITIVE_INFINITY); this.deepFilter = this._getValue(this._options.deepFilter, null); this.entryFilter = this._getValue(this._options.entryFilter, null); this.errorFilter = this._getValue(this._options.errorFilter, null); - this.pathSegmentSeparator = this._getValue(this._options.pathSegmentSeparator, path9.sep); + this.pathSegmentSeparator = this._getValue(this._options.pathSegmentSeparator, path13.sep); this.fsScandirSettings = new fsScandir.Settings({ followSymbolicLinks: this._options.followSymbolicLinks, fs: this._options.fs, pathSegmentSeparator: this._options.pathSegmentSeparator, stats: this._options.stats, @@ -4770,11 +4784,11 @@ // node_modules/fast-glob/out/readers/reader.js var require_reader2 = __commonJS({ "node_modules/fast-glob/out/readers/reader.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); - var path9 = __require("path"); + var path13 = __require("path"); var fsStat = require_out(); var utils = require_utils3(); var Reader = class { constructor(_settings) { this._settings = _settings; @@ -4783,11 +4797,11 @@ fs: this._settings.fs, throwErrorOnBrokenSymbolicLink: this._settings.followSymbolicLinks }); } _getFullEntryPath(filepath) { - return path9.resolve(this._settings.cwd, filepath); + return path13.resolve(this._settings.cwd, filepath); } _makeEntry(stats, pattern) { const entry = { name: pattern, path: pattern, @@ -4819,12 +4833,12 @@ constructor() { super(...arguments); this._walkStream = fsWalk.walkStream; this._stat = fsStat.stat; } - dynamic(root, options8) { - return this._walkStream(root, options8); + dynamic(root2, options8) { + return this._walkStream(root2, options8); } static(patterns, options8) { const filepaths = patterns.map(this._getFullEntryPath, this); const stream = new stream_1.PassThrough({ objectMode: true }); stream._write = (index, _enc, done) => { @@ -4850,13 +4864,13 @@ } throw error; }); } _getStat(filepath) { - return new Promise((resolve2, reject) => { + return new Promise((resolve3, reject) => { this._stat(filepath, this._fsStatSettings, (error, stats) => { - return error === null ? resolve2(stats) : reject(error); + return error === null ? resolve3(stats) : reject(error); }); }); } }; exports.default = ReaderStream; @@ -4875,28 +4889,28 @@ constructor() { super(...arguments); this._walkAsync = fsWalk.walk; this._readerStream = new stream_1.default(this._settings); } - dynamic(root, options8) { - return new Promise((resolve2, reject) => { - this._walkAsync(root, options8, (error, entries) => { + dynamic(root2, options8) { + return new Promise((resolve3, reject) => { + this._walkAsync(root2, options8, (error, entries) => { if (error === null) { - resolve2(entries); + resolve3(entries); } else { reject(error); } }); }); } async static(patterns, options8) { const entries = []; const stream = this._readerStream.static(patterns, options8); - return new Promise((resolve2, reject) => { + return new Promise((resolve3, reject) => { stream.once("error", reject); stream.on("data", (entry) => entries.push(entry)); - stream.once("end", () => resolve2(entries)); + stream.once("end", () => resolve3(entries)); }); } }; exports.default = ReaderAsync; } @@ -5081,12 +5095,12 @@ return false; } if (this._isSkippedByAbsoluteNegativePatterns(filepath, negativeRe)) { return false; } - const isDirectory = entry.dirent.isDirectory(); - const isMatched = this._isMatchToPatterns(filepath, positiveRe, isDirectory) && !this._isMatchToPatterns(filepath, negativeRe, isDirectory); + const isDirectory2 = entry.dirent.isDirectory(); + const isMatched = this._isMatchToPatterns(filepath, positiveRe, isDirectory2) && !this._isMatchToPatterns(filepath, negativeRe, isDirectory2); if (this._settings.unique && isMatched) { this._createIndexRecord(filepath); } return isMatched; } @@ -5107,13 +5121,13 @@ return false; } const fullpath = utils.path.makeAbsolute(this._settings.cwd, entryPath); return utils.pattern.matchAny(fullpath, patternsRe); } - _isMatchToPatterns(filepath, patternsRe, isDirectory) { + _isMatchToPatterns(filepath, patternsRe, isDirectory2) { const isMatched = utils.pattern.matchAny(filepath, patternsRe); - if (!isMatched && isDirectory) { + if (!isMatched && isDirectory2) { return utils.pattern.matchAny(filepath + "/", patternsRe); } return isMatched; } }; @@ -5177,11 +5191,11 @@ // node_modules/fast-glob/out/providers/provider.js var require_provider = __commonJS({ "node_modules/fast-glob/out/providers/provider.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); - var path9 = __require("path"); + var path13 = __require("path"); var deep_1 = require_deep(); var entry_1 = require_entry(); var error_1 = require_error(); var entry_2 = require_entry2(); var Provider = class { @@ -5191,11 +5205,11 @@ this.entryFilter = new entry_1.default(this._settings, this._getMicromatchOptions()); this.deepFilter = new deep_1.default(this._settings, this._getMicromatchOptions()); this.entryTransformer = new entry_2.default(this._settings); } _getRootDirectory(task) { - return path9.resolve(this._settings.cwd, task.base); + return path13.resolve(this._settings.cwd, task.base); } _getReaderOptions(task) { const basePath = task.base === "." ? "" : task.base; return { basePath, @@ -5239,18 +5253,18 @@ constructor() { super(...arguments); this._reader = new async_1.default(this._settings); } async read(task) { - const root = this._getRootDirectory(task); + const root2 = this._getRootDirectory(task); const options8 = this._getReaderOptions(task); - const entries = await this.api(root, task, options8); + const entries = await this.api(root2, task, options8); return entries.map((entry) => options8.transform(entry)); } - api(root, task, options8) { + api(root2, task, options8) { if (task.dynamic) { - return this._reader.dynamic(root, options8); + return this._reader.dynamic(root2, options8); } return this._reader.static(task.patterns, options8); } }; exports.default = ProviderAsync; @@ -5269,22 +5283,22 @@ constructor() { super(...arguments); this._reader = new stream_2.default(this._settings); } read(task) { - const root = this._getRootDirectory(task); + const root2 = this._getRootDirectory(task); const options8 = this._getReaderOptions(task); - const source = this.api(root, task, options8); + const source2 = this.api(root2, task, options8); const destination = new stream_1.Readable({ objectMode: true, read: () => { } }); - source.once("error", (error) => destination.emit("error", error)).on("data", (entry) => destination.emit("data", options8.transform(entry))).once("end", () => destination.emit("end")); - destination.once("close", () => source.destroy()); + source2.once("error", (error) => destination.emit("error", error)).on("data", (entry) => destination.emit("data", options8.transform(entry))).once("end", () => destination.emit("end")); + destination.once("close", () => source2.destroy()); return destination; } - api(root, task, options8) { + api(root2, task, options8) { if (task.dynamic) { - return this._reader.dynamic(root, options8); + return this._reader.dynamic(root2, options8); } return this._reader.static(task.patterns, options8); } }; exports.default = ProviderStream; @@ -5303,12 +5317,12 @@ constructor() { super(...arguments); this._walkSync = fsWalk.walkSync; this._statSync = fsStat.statSync; } - dynamic(root, options8) { - return this._walkSync(root, options8); + dynamic(root2, options8) { + return this._walkSync(root2, options8); } static(patterns, options8) { const entries = []; for (const pattern of patterns) { const filepath = this._getFullEntryPath(pattern); @@ -5350,18 +5364,18 @@ constructor() { super(...arguments); this._reader = new sync_1.default(this._settings); } read(task) { - const root = this._getRootDirectory(task); + const root2 = this._getRootDirectory(task); const options8 = this._getReaderOptions(task); - const entries = this.api(root, task, options8); + const entries = this.api(root2, task, options8); return entries.map(options8.transform); } - api(root, task, options8) { + api(root2, task, options8) { if (task.dynamic) { - return this._reader.dynamic(root, options8); + return this._reader.dynamic(root2, options8); } return this._reader.static(task.patterns, options8); } }; exports.default = ProviderSync; @@ -5372,20 +5386,20 @@ var require_settings4 = __commonJS({ "node_modules/fast-glob/out/settings.js"(exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.DEFAULT_FILE_SYSTEM_ADAPTER = void 0; - var fs5 = __require("fs"); + var fs7 = __require("fs"); var os2 = __require("os"); var CPU_COUNT = Math.max(os2.cpus().length, 1); exports.DEFAULT_FILE_SYSTEM_ADAPTER = { - lstat: fs5.lstat, - lstatSync: fs5.lstatSync, - stat: fs5.stat, - statSync: fs5.statSync, - readdir: fs5.readdir, - readdirSync: fs5.readdirSync + lstat: fs7.lstat, + lstatSync: fs7.lstatSync, + stat: fs7.stat, + statSync: fs7.statSync, + readdir: fs7.readdir, + readdirSync: fs7.readdirSync }; var Settings = class { constructor(_options = {}) { this._options = _options; this.absolute = this._getValue(this._options.absolute, false); @@ -5436,2618 +5450,101 @@ var async_1 = require_async6(); var stream_1 = require_stream4(); var sync_1 = require_sync6(); var settings_1 = require_settings4(); var utils = require_utils3(); - async function FastGlob(source, options8) { - assertPatternsInput(source); - const works = getWorks(source, async_1.default, options8); + async function FastGlob(source2, options8) { + assertPatternsInput(source2); + const works = getWorks(source2, async_1.default, options8); const result = await Promise.all(works); return utils.array.flatten(result); } (function(FastGlob2) { FastGlob2.glob = FastGlob2; FastGlob2.globSync = sync; FastGlob2.globStream = stream; FastGlob2.async = FastGlob2; - function sync(source, options8) { - assertPatternsInput(source); - const works = getWorks(source, sync_1.default, options8); + function sync(source2, options8) { + assertPatternsInput(source2); + const works = getWorks(source2, sync_1.default, options8); return utils.array.flatten(works); } FastGlob2.sync = sync; - function stream(source, options8) { - assertPatternsInput(source); - const works = getWorks(source, stream_1.default, options8); + function stream(source2, options8) { + assertPatternsInput(source2); + const works = getWorks(source2, stream_1.default, options8); return utils.stream.merge(works); } FastGlob2.stream = stream; - function generateTasks(source, options8) { - assertPatternsInput(source); - const patterns = [].concat(source); + function generateTasks(source2, options8) { + assertPatternsInput(source2); + const patterns = [].concat(source2); const settings = new settings_1.default(options8); return taskManager.generate(patterns, settings); } FastGlob2.generateTasks = generateTasks; - function isDynamicPattern(source, options8) { - assertPatternsInput(source); + function isDynamicPattern(source2, options8) { + assertPatternsInput(source2); const settings = new settings_1.default(options8); - return utils.pattern.isDynamicPattern(source, settings); + return utils.pattern.isDynamicPattern(source2, settings); } FastGlob2.isDynamicPattern = isDynamicPattern; - function escapePath(source) { - assertPatternsInput(source); - return utils.path.escape(source); + function escapePath(source2) { + assertPatternsInput(source2); + return utils.path.escape(source2); } FastGlob2.escapePath = escapePath; - function convertPathToPattern(source) { - assertPatternsInput(source); - return utils.path.convertPathToPattern(source); + function convertPathToPattern(source2) { + assertPatternsInput(source2); + return utils.path.convertPathToPattern(source2); } FastGlob2.convertPathToPattern = convertPathToPattern; let posix; (function(posix2) { - function escapePath2(source) { - assertPatternsInput(source); - return utils.path.escapePosixPath(source); + function escapePath2(source2) { + assertPatternsInput(source2); + return utils.path.escapePosixPath(source2); } posix2.escapePath = escapePath2; - function convertPathToPattern2(source) { - assertPatternsInput(source); - return utils.path.convertPosixPathToPattern(source); + function convertPathToPattern2(source2) { + assertPatternsInput(source2); + return utils.path.convertPosixPathToPattern(source2); } posix2.convertPathToPattern = convertPathToPattern2; })(posix = FastGlob2.posix || (FastGlob2.posix = {})); let win32; (function(win322) { - function escapePath2(source) { - assertPatternsInput(source); - return utils.path.escapeWindowsPath(source); + function escapePath2(source2) { + assertPatternsInput(source2); + return utils.path.escapeWindowsPath(source2); } win322.escapePath = escapePath2; - function convertPathToPattern2(source) { - assertPatternsInput(source); - return utils.path.convertWindowsPathToPattern(source); + function convertPathToPattern2(source2) { + assertPatternsInput(source2); + return utils.path.convertWindowsPathToPattern(source2); } win322.convertPathToPattern = convertPathToPattern2; })(win32 = FastGlob2.win32 || (FastGlob2.win32 = {})); })(FastGlob || (FastGlob = {})); - function getWorks(source, _Provider, options8) { - const patterns = [].concat(source); + function getWorks(source2, _Provider, options8) { + const patterns = [].concat(source2); const settings = new settings_1.default(options8); const tasks = taskManager.generate(patterns, settings); const provider = new _Provider(settings); return tasks.map(provider.read, provider); } function assertPatternsInput(input) { - const source = [].concat(input); - const isValidSource = source.every((item) => utils.string.isString(item) && !utils.string.isEmpty(item)); + const source2 = [].concat(input); + const isValidSource = source2.every((item) => utils.string.isString(item) && !utils.string.isEmpty(item)); if (!isValidSource) { throw new TypeError("Patterns must be a string (non empty) or an array of strings"); } } module.exports = FastGlob; } }); -// node_modules/diff/lib/diff/base.js -var require_base = __commonJS({ - "node_modules/diff/lib/diff/base.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { - value: true - }); - exports["default"] = Diff; - function Diff() { - } - Diff.prototype = { - /*istanbul ignore start*/ - /*istanbul ignore end*/ - diff: function diff(oldString, newString) { - var options8 = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {}; - var callback = options8.callback; - if (typeof options8 === "function") { - callback = options8; - options8 = {}; - } - this.options = options8; - var self = this; - function done(value) { - if (callback) { - setTimeout(function() { - callback(void 0, value); - }, 0); - return true; - } else { - return value; - } - } - oldString = this.castInput(oldString); - newString = this.castInput(newString); - oldString = this.removeEmpty(this.tokenize(oldString)); - newString = this.removeEmpty(this.tokenize(newString)); - var newLen = newString.length, oldLen = oldString.length; - var editLength = 1; - var maxEditLength = newLen + oldLen; - if (options8.maxEditLength) { - maxEditLength = Math.min(maxEditLength, options8.maxEditLength); - } - var bestPath = [{ - newPos: -1, - components: [] - }]; - var oldPos = this.extractCommon(bestPath[0], newString, oldString, 0); - if (bestPath[0].newPos + 1 >= newLen && oldPos + 1 >= oldLen) { - return done([{ - value: this.join(newString), - count: newString.length - }]); - } - function execEditLength() { - for (var diagonalPath = -1 * editLength; diagonalPath <= editLength; diagonalPath += 2) { - var basePath = ( - /*istanbul ignore start*/ - void 0 - ); - var addPath = bestPath[diagonalPath - 1], removePath = bestPath[diagonalPath + 1], _oldPos = (removePath ? removePath.newPos : 0) - diagonalPath; - if (addPath) { - bestPath[diagonalPath - 1] = void 0; - } - var canAdd = addPath && addPath.newPos + 1 < newLen, canRemove = removePath && 0 <= _oldPos && _oldPos < oldLen; - if (!canAdd && !canRemove) { - bestPath[diagonalPath] = void 0; - continue; - } - if (!canAdd || canRemove && addPath.newPos < removePath.newPos) { - basePath = clonePath(removePath); - self.pushComponent(basePath.components, void 0, true); - } else { - basePath = addPath; - basePath.newPos++; - self.pushComponent(basePath.components, true, void 0); - } - _oldPos = self.extractCommon(basePath, newString, oldString, diagonalPath); - if (basePath.newPos + 1 >= newLen && _oldPos + 1 >= oldLen) { - return done(buildValues(self, basePath.components, newString, oldString, self.useLongestToken)); - } else { - bestPath[diagonalPath] = basePath; - } - } - editLength++; - } - if (callback) { - (function exec() { - setTimeout(function() { - if (editLength > maxEditLength) { - return callback(); - } - if (!execEditLength()) { - exec(); - } - }, 0); - })(); - } else { - while (editLength <= maxEditLength) { - var ret = execEditLength(); - if (ret) { - return ret; - } - } - } - }, - /*istanbul ignore start*/ - /*istanbul ignore end*/ - pushComponent: function pushComponent(components, added, removed) { - var last = components[components.length - 1]; - if (last && last.added === added && last.removed === removed) { - components[components.length - 1] = { - count: last.count + 1, - added, - removed - }; - } else { - components.push({ - count: 1, - added, - removed - }); - } - }, - /*istanbul ignore start*/ - /*istanbul ignore end*/ - extractCommon: function extractCommon(basePath, newString, oldString, diagonalPath) { - var newLen = newString.length, oldLen = oldString.length, newPos = basePath.newPos, oldPos = newPos - diagonalPath, commonCount = 0; - while (newPos + 1 < newLen && oldPos + 1 < oldLen && this.equals(newString[newPos + 1], oldString[oldPos + 1])) { - newPos++; - oldPos++; - commonCount++; - } - if (commonCount) { - basePath.components.push({ - count: commonCount - }); - } - basePath.newPos = newPos; - return oldPos; - }, - /*istanbul ignore start*/ - /*istanbul ignore end*/ - equals: function equals(left, right) { - if (this.options.comparator) { - return this.options.comparator(left, right); - } else { - return left === right || this.options.ignoreCase && left.toLowerCase() === right.toLowerCase(); - } - }, - /*istanbul ignore start*/ - /*istanbul ignore end*/ - removeEmpty: function removeEmpty(array2) { - var ret = []; - for (var i = 0; i < array2.length; i++) { - if (array2[i]) { - ret.push(array2[i]); - } - } - return ret; - }, - /*istanbul ignore start*/ - /*istanbul ignore end*/ - castInput: function castInput(value) { - return value; - }, - /*istanbul ignore start*/ - /*istanbul ignore end*/ - tokenize: function tokenize(value) { - return value.split(""); - }, - /*istanbul ignore start*/ - /*istanbul ignore end*/ - join: function join2(chars) { - return chars.join(""); - } - }; - function buildValues(diff, components, newString, oldString, useLongestToken) { - var componentPos = 0, componentLen = components.length, newPos = 0, oldPos = 0; - for (; componentPos < componentLen; componentPos++) { - var component = components[componentPos]; - if (!component.removed) { - if (!component.added && useLongestToken) { - var value = newString.slice(newPos, newPos + component.count); - value = value.map(function(value2, i) { - var oldValue = oldString[oldPos + i]; - return oldValue.length > value2.length ? oldValue : value2; - }); - component.value = diff.join(value); - } else { - component.value = diff.join(newString.slice(newPos, newPos + component.count)); - } - newPos += component.count; - if (!component.added) { - oldPos += component.count; - } - } else { - component.value = diff.join(oldString.slice(oldPos, oldPos + component.count)); - oldPos += component.count; - if (componentPos && components[componentPos - 1].added) { - var tmp = components[componentPos - 1]; - components[componentPos - 1] = components[componentPos]; - components[componentPos] = tmp; - } - } - } - var lastComponent = components[componentLen - 1]; - if (componentLen > 1 && typeof lastComponent.value === "string" && (lastComponent.added || lastComponent.removed) && diff.equals("", lastComponent.value)) { - components[componentLen - 2].value += lastComponent.value; - components.pop(); - } - return components; - } - function clonePath(path9) { - return { - newPos: path9.newPos, - components: path9.components.slice(0) - }; - } - } -}); - -// node_modules/diff/lib/diff/array.js -var require_array2 = __commonJS({ - "node_modules/diff/lib/diff/array.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { - value: true - }); - exports.diffArrays = diffArrays2; - exports.arrayDiff = void 0; - var _base = _interopRequireDefault(require_base()); - function _interopRequireDefault(obj) { - return obj && obj.__esModule ? obj : { "default": obj }; - } - var arrayDiff = new /*istanbul ignore start*/ - _base[ - /*istanbul ignore start*/ - "default" - /*istanbul ignore end*/ - ](); - exports.arrayDiff = arrayDiff; - arrayDiff.tokenize = function(value) { - return value.slice(); - }; - arrayDiff.join = arrayDiff.removeEmpty = function(value) { - return value; - }; - function diffArrays2(oldArr, newArr, callback) { - return arrayDiff.diff(oldArr, newArr, callback); - } - } -}); - -// node_modules/n-readlines/readlines.js -var require_readlines = __commonJS({ - "node_modules/n-readlines/readlines.js"(exports, module) { - "use strict"; - var fs5 = __require("fs"); - var LineByLine = class { - constructor(file, options8) { - options8 = options8 || {}; - if (!options8.readChunk) - options8.readChunk = 1024; - if (!options8.newLineCharacter) { - options8.newLineCharacter = 10; - } else { - options8.newLineCharacter = options8.newLineCharacter.charCodeAt(0); - } - if (typeof file === "number") { - this.fd = file; - } else { - this.fd = fs5.openSync(file, "r"); - } - this.options = options8; - this.newLineCharacter = options8.newLineCharacter; - this.reset(); - } - _searchInBuffer(buffer, hexNeedle) { - let found = -1; - for (let i = 0; i <= buffer.length; i++) { - let b_byte = buffer[i]; - if (b_byte === hexNeedle) { - found = i; - break; - } - } - return found; - } - reset() { - this.eofReached = false; - this.linesCache = []; - this.fdPosition = 0; - } - close() { - fs5.closeSync(this.fd); - this.fd = null; - } - _extractLines(buffer) { - let line2; - const lines = []; - let bufferPosition = 0; - let lastNewLineBufferPosition = 0; - while (true) { - let bufferPositionValue = buffer[bufferPosition++]; - if (bufferPositionValue === this.newLineCharacter) { - line2 = buffer.slice(lastNewLineBufferPosition, bufferPosition); - lines.push(line2); - lastNewLineBufferPosition = bufferPosition; - } else if (bufferPositionValue === void 0) { - break; - } - } - let leftovers = buffer.slice(lastNewLineBufferPosition, bufferPosition); - if (leftovers.length) { - lines.push(leftovers); - } - return lines; - } - _readChunk(lineLeftovers) { - let totalBytesRead = 0; - let bytesRead; - const buffers = []; - do { - const readBuffer = Buffer.alloc(this.options.readChunk); - bytesRead = fs5.readSync(this.fd, readBuffer, 0, this.options.readChunk, this.fdPosition); - totalBytesRead = totalBytesRead + bytesRead; - this.fdPosition = this.fdPosition + bytesRead; - buffers.push(readBuffer); - } while (bytesRead && this._searchInBuffer(buffers[buffers.length - 1], this.options.newLineCharacter) === -1); - let bufferData = Buffer.concat(buffers); - if (bytesRead < this.options.readChunk) { - this.eofReached = true; - bufferData = bufferData.slice(0, totalBytesRead); - } - if (totalBytesRead) { - this.linesCache = this._extractLines(bufferData); - if (lineLeftovers) { - this.linesCache[0] = Buffer.concat([lineLeftovers, this.linesCache[0]]); - } - } - return totalBytesRead; - } - next() { - if (!this.fd) - return false; - let line2 = false; - if (this.eofReached && this.linesCache.length === 0) { - return line2; - } - let bytesRead; - if (!this.linesCache.length) { - bytesRead = this._readChunk(); - } - if (this.linesCache.length) { - line2 = this.linesCache.shift(); - const lastLineCharacter = line2[line2.length - 1]; - if (lastLineCharacter !== this.newLineCharacter) { - bytesRead = this._readChunk(line2); - if (bytesRead) { - line2 = this.linesCache.shift(); - } - } - } - if (this.eofReached && this.linesCache.length === 0) { - this.close(); - } - if (line2 && line2[line2.length - 1] === this.newLineCharacter) { - line2 = line2.slice(0, line2.length - 1); - } - return line2; - } - }; - module.exports = LineByLine; - } -}); - -// node_modules/js-tokens/index.js -var require_js_tokens = __commonJS({ - "node_modules/js-tokens/index.js"(exports) { - Object.defineProperty(exports, "__esModule", { - value: true - }); - exports.default = /((['"])(?:(?!\2|\\).|\\(?:\r\n|[\s\S]))*(\2)?|`(?:[^`\\$]|\\[\s\S]|\$(?!\{)|\$\{(?:[^{}]|\{[^}]*\}?)*\}?)*(`)?)|(\/\/.*)|(\/\*(?:[^*]|\*(?!\/))*(\*\/)?)|(\/(?!\*)(?:\[(?:(?![\]\\]).|\\.)*\]|(?![\/\]\\]).|\\.)+\/(?:(?!\s*(?:\b|[\u0080-\uFFFF$\\'"~({]|[+\-!](?!=)|\.?\d))|[gmiyus]{1,6}\b(?![\u0080-\uFFFF$\\]|\s*(?:[+\-*%&|^<>!=?({]|\/(?![\/*])))))|(0[xX][\da-fA-F]+|0[oO][0-7]+|0[bB][01]+|(?:\d*\.\d+|\d+\.?)(?:[eE][+-]?\d+)?)|((?!\d)(?:(?!\s)[$\w\u0080-\uFFFF]|\\u[\da-fA-F]{4}|\\u\{[\da-fA-F]+\})+)|(--|\+\+|&&|\|\||=>|\.{3}|(?:[+\-\/%&|^]|\*{1,2}|<{1,2}|>{1,3}|!=?|={1,2})=?|[?~.,:;[\](){}])|(\s+)|(^$|[\s\S])/g; - exports.matchToToken = function(match) { - var token = { type: "invalid", value: match[0], closed: void 0 }; - if (match[1]) - token.type = "string", token.closed = !!(match[3] || match[4]); - else if (match[5]) - token.type = "comment"; - else if (match[6]) - token.type = "comment", token.closed = !!match[7]; - else if (match[8]) - token.type = "regex"; - else if (match[9]) - token.type = "number"; - else if (match[10]) - token.type = "name"; - else if (match[11]) - token.type = "punctuator"; - else if (match[12]) - token.type = "whitespace"; - return token; - }; - } -}); - -// node_modules/@babel/helper-validator-identifier/lib/identifier.js -var require_identifier = __commonJS({ - "node_modules/@babel/helper-validator-identifier/lib/identifier.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { - value: true - }); - exports.isIdentifierChar = isIdentifierChar; - exports.isIdentifierName = isIdentifierName; - exports.isIdentifierStart = isIdentifierStart; - var nonASCIIidentifierStartChars = "\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0560-\u0588\u05D0-\u05EA\u05EF-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u0870-\u0887\u0889-\u088E\u08A0-\u08C9\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C5D\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D04-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u1711\u171F-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1878\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4C\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1C90-\u1CBA\u1CBD-\u1CBF\u1CE9-\u1CEC\u1CEE-\u1CF3\u1CF5\u1CF6\u1CFA\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2118-\u211D\u2124\u2126\u2128\u212A-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309B-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u31A0-\u31BF\u31F0-\u31FF\u3400-\u4DBF\u4E00-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7CA\uA7D0\uA7D1\uA7D3\uA7D5-\uA7D9\uA7F2-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA8FE\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB69\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC"; - var nonASCIIidentifierChars = "\u200C\u200D\xB7\u0300-\u036F\u0387\u0483-\u0487\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u0610-\u061A\u064B-\u0669\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7\u06E8\u06EA-\u06ED\u06F0-\u06F9\u0711\u0730-\u074A\u07A6-\u07B0\u07C0-\u07C9\u07EB-\u07F3\u07FD\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0859-\u085B\u0898-\u089F\u08CA-\u08E1\u08E3-\u0903\u093A-\u093C\u093E-\u094F\u0951-\u0957\u0962\u0963\u0966-\u096F\u0981-\u0983\u09BC\u09BE-\u09C4\u09C7\u09C8\u09CB-\u09CD\u09D7\u09E2\u09E3\u09E6-\u09EF\u09FE\u0A01-\u0A03\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A66-\u0A71\u0A75\u0A81-\u0A83\u0ABC\u0ABE-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AE2\u0AE3\u0AE6-\u0AEF\u0AFA-\u0AFF\u0B01-\u0B03\u0B3C\u0B3E-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B55-\u0B57\u0B62\u0B63\u0B66-\u0B6F\u0B82\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD7\u0BE6-\u0BEF\u0C00-\u0C04\u0C3C\u0C3E-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C62\u0C63\u0C66-\u0C6F\u0C81-\u0C83\u0CBC\u0CBE-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CE2\u0CE3\u0CE6-\u0CEF\u0CF3\u0D00-\u0D03\u0D3B\u0D3C\u0D3E-\u0D44\u0D46-\u0D48\u0D4A-\u0D4D\u0D57\u0D62\u0D63\u0D66-\u0D6F\u0D81-\u0D83\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E31\u0E34-\u0E3A\u0E47-\u0E4E\u0E50-\u0E59\u0EB1\u0EB4-\u0EBC\u0EC8-\u0ECE\u0ED0-\u0ED9\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E\u0F3F\u0F71-\u0F84\u0F86\u0F87\u0F8D-\u0F97\u0F99-\u0FBC\u0FC6\u102B-\u103E\u1040-\u1049\u1056-\u1059\u105E-\u1060\u1062-\u1064\u1067-\u106D\u1071-\u1074\u1082-\u108D\u108F-\u109D\u135D-\u135F\u1369-\u1371\u1712-\u1715\u1732-\u1734\u1752\u1753\u1772\u1773\u17B4-\u17D3\u17DD\u17E0-\u17E9\u180B-\u180D\u180F-\u1819\u18A9\u1920-\u192B\u1930-\u193B\u1946-\u194F\u19D0-\u19DA\u1A17-\u1A1B\u1A55-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AB0-\u1ABD\u1ABF-\u1ACE\u1B00-\u1B04\u1B34-\u1B44\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1B82\u1BA1-\u1BAD\u1BB0-\u1BB9\u1BE6-\u1BF3\u1C24-\u1C37\u1C40-\u1C49\u1C50-\u1C59\u1CD0-\u1CD2\u1CD4-\u1CE8\u1CED\u1CF4\u1CF7-\u1CF9\u1DC0-\u1DFF\u203F\u2040\u2054\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2CEF-\u2CF1\u2D7F\u2DE0-\u2DFF\u302A-\u302F\u3099\u309A\uA620-\uA629\uA66F\uA674-\uA67D\uA69E\uA69F\uA6F0\uA6F1\uA802\uA806\uA80B\uA823-\uA827\uA82C\uA880\uA881\uA8B4-\uA8C5\uA8D0-\uA8D9\uA8E0-\uA8F1\uA8FF-\uA909\uA926-\uA92D\uA947-\uA953\uA980-\uA983\uA9B3-\uA9C0\uA9D0-\uA9D9\uA9E5\uA9F0-\uA9F9\uAA29-\uAA36\uAA43\uAA4C\uAA4D\uAA50-\uAA59\uAA7B-\uAA7D\uAAB0\uAAB2-\uAAB4\uAAB7\uAAB8\uAABE\uAABF\uAAC1\uAAEB-\uAAEF\uAAF5\uAAF6\uABE3-\uABEA\uABEC\uABED\uABF0-\uABF9\uFB1E\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFF10-\uFF19\uFF3F"; - var nonASCIIidentifierStart = new RegExp("[" + nonASCIIidentifierStartChars + "]"); - var nonASCIIidentifier = new RegExp("[" + nonASCIIidentifierStartChars + nonASCIIidentifierChars + "]"); - nonASCIIidentifierStartChars = nonASCIIidentifierChars = null; - var astralIdentifierStartCodes = [0, 11, 2, 25, 2, 18, 2, 1, 2, 14, 3, 13, 35, 122, 70, 52, 268, 28, 4, 48, 48, 31, 14, 29, 6, 37, 11, 29, 3, 35, 5, 7, 2, 4, 43, 157, 19, 35, 5, 35, 5, 39, 9, 51, 13, 10, 2, 14, 2, 6, 2, 1, 2, 10, 2, 14, 2, 6, 2, 1, 68, 310, 10, 21, 11, 7, 25, 5, 2, 41, 2, 8, 70, 5, 3, 0, 2, 43, 2, 1, 4, 0, 3, 22, 11, 22, 10, 30, 66, 18, 2, 1, 11, 21, 11, 25, 71, 55, 7, 1, 65, 0, 16, 3, 2, 2, 2, 28, 43, 28, 4, 28, 36, 7, 2, 27, 28, 53, 11, 21, 11, 18, 14, 17, 111, 72, 56, 50, 14, 50, 14, 35, 349, 41, 7, 1, 79, 28, 11, 0, 9, 21, 43, 17, 47, 20, 28, 22, 13, 52, 58, 1, 3, 0, 14, 44, 33, 24, 27, 35, 30, 0, 3, 0, 9, 34, 4, 0, 13, 47, 15, 3, 22, 0, 2, 0, 36, 17, 2, 24, 20, 1, 64, 6, 2, 0, 2, 3, 2, 14, 2, 9, 8, 46, 39, 7, 3, 1, 3, 21, 2, 6, 2, 1, 2, 4, 4, 0, 19, 0, 13, 4, 159, 52, 19, 3, 21, 2, 31, 47, 21, 1, 2, 0, 185, 46, 42, 3, 37, 47, 21, 0, 60, 42, 14, 0, 72, 26, 38, 6, 186, 43, 117, 63, 32, 7, 3, 0, 3, 7, 2, 1, 2, 23, 16, 0, 2, 0, 95, 7, 3, 38, 17, 0, 2, 0, 29, 0, 11, 39, 8, 0, 22, 0, 12, 45, 20, 0, 19, 72, 264, 8, 2, 36, 18, 0, 50, 29, 113, 6, 2, 1, 2, 37, 22, 0, 26, 5, 2, 1, 2, 31, 15, 0, 328, 18, 16, 0, 2, 12, 2, 33, 125, 0, 80, 921, 103, 110, 18, 195, 2637, 96, 16, 1071, 18, 5, 4026, 582, 8634, 568, 8, 30, 18, 78, 18, 29, 19, 47, 17, 3, 32, 20, 6, 18, 689, 63, 129, 74, 6, 0, 67, 12, 65, 1, 2, 0, 29, 6135, 9, 1237, 43, 8, 8936, 3, 2, 6, 2, 1, 2, 290, 16, 0, 30, 2, 3, 0, 15, 3, 9, 395, 2309, 106, 6, 12, 4, 8, 8, 9, 5991, 84, 2, 70, 2, 1, 3, 0, 3, 1, 3, 3, 2, 11, 2, 0, 2, 6, 2, 64, 2, 3, 3, 7, 2, 6, 2, 27, 2, 3, 2, 4, 2, 0, 4, 6, 2, 339, 3, 24, 2, 24, 2, 30, 2, 24, 2, 30, 2, 24, 2, 30, 2, 24, 2, 30, 2, 24, 2, 7, 1845, 30, 7, 5, 262, 61, 147, 44, 11, 6, 17, 0, 322, 29, 19, 43, 485, 27, 757, 6, 2, 3, 2, 1, 2, 14, 2, 196, 60, 67, 8, 0, 1205, 3, 2, 26, 2, 1, 2, 0, 3, 0, 2, 9, 2, 3, 2, 0, 2, 0, 7, 0, 5, 0, 2, 0, 2, 0, 2, 2, 2, 1, 2, 0, 3, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 1, 2, 0, 3, 3, 2, 6, 2, 3, 2, 3, 2, 0, 2, 9, 2, 16, 6, 2, 2, 4, 2, 16, 4421, 42719, 33, 4153, 7, 221, 3, 5761, 15, 7472, 3104, 541, 1507, 4938, 6, 4191]; - var astralIdentifierCodes = [509, 0, 227, 0, 150, 4, 294, 9, 1368, 2, 2, 1, 6, 3, 41, 2, 5, 0, 166, 1, 574, 3, 9, 9, 370, 1, 81, 2, 71, 10, 50, 3, 123, 2, 54, 14, 32, 10, 3, 1, 11, 3, 46, 10, 8, 0, 46, 9, 7, 2, 37, 13, 2, 9, 6, 1, 45, 0, 13, 2, 49, 13, 9, 3, 2, 11, 83, 11, 7, 0, 3, 0, 158, 11, 6, 9, 7, 3, 56, 1, 2, 6, 3, 1, 3, 2, 10, 0, 11, 1, 3, 6, 4, 4, 193, 17, 10, 9, 5, 0, 82, 19, 13, 9, 214, 6, 3, 8, 28, 1, 83, 16, 16, 9, 82, 12, 9, 9, 84, 14, 5, 9, 243, 14, 166, 9, 71, 5, 2, 1, 3, 3, 2, 0, 2, 1, 13, 9, 120, 6, 3, 6, 4, 0, 29, 9, 41, 6, 2, 3, 9, 0, 10, 10, 47, 15, 406, 7, 2, 7, 17, 9, 57, 21, 2, 13, 123, 5, 4, 0, 2, 1, 2, 6, 2, 0, 9, 9, 49, 4, 2, 1, 2, 4, 9, 9, 330, 3, 10, 1, 2, 0, 49, 6, 4, 4, 14, 9, 5351, 0, 7, 14, 13835, 9, 87, 9, 39, 4, 60, 6, 26, 9, 1014, 0, 2, 54, 8, 3, 82, 0, 12, 1, 19628, 1, 4706, 45, 3, 22, 543, 4, 4, 5, 9, 7, 3, 6, 31, 3, 149, 2, 1418, 49, 513, 54, 5, 49, 9, 0, 15, 0, 23, 4, 2, 14, 1361, 6, 2, 16, 3, 6, 2, 1, 2, 4, 101, 0, 161, 6, 10, 9, 357, 0, 62, 13, 499, 13, 983, 6, 110, 6, 6, 9, 4759, 9, 787719, 239]; - function isInAstralSet(code, set) { - let pos = 65536; - for (let i = 0, length = set.length; i < length; i += 2) { - pos += set[i]; - if (pos > code) - return false; - pos += set[i + 1]; - if (pos >= code) - return true; - } - return false; - } - function isIdentifierStart(code) { - if (code < 65) - return code === 36; - if (code <= 90) - return true; - if (code < 97) - return code === 95; - if (code <= 122) - return true; - if (code <= 65535) { - return code >= 170 && nonASCIIidentifierStart.test(String.fromCharCode(code)); - } - return isInAstralSet(code, astralIdentifierStartCodes); - } - function isIdentifierChar(code) { - if (code < 48) - return code === 36; - if (code < 58) - return true; - if (code < 65) - return false; - if (code <= 90) - return true; - if (code < 97) - return code === 95; - if (code <= 122) - return true; - if (code <= 65535) { - return code >= 170 && nonASCIIidentifier.test(String.fromCharCode(code)); - } - return isInAstralSet(code, astralIdentifierStartCodes) || isInAstralSet(code, astralIdentifierCodes); - } - function isIdentifierName(name) { - let isFirst = true; - for (let i = 0; i < name.length; i++) { - let cp = name.charCodeAt(i); - if ((cp & 64512) === 55296 && i + 1 < name.length) { - const trail = name.charCodeAt(++i); - if ((trail & 64512) === 56320) { - cp = 65536 + ((cp & 1023) << 10) + (trail & 1023); - } - } - if (isFirst) { - isFirst = false; - if (!isIdentifierStart(cp)) { - return false; - } - } else if (!isIdentifierChar(cp)) { - return false; - } - } - return !isFirst; - } - } -}); - -// node_modules/@babel/helper-validator-identifier/lib/keyword.js -var require_keyword = __commonJS({ - "node_modules/@babel/helper-validator-identifier/lib/keyword.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { - value: true - }); - exports.isKeyword = isKeyword; - exports.isReservedWord = isReservedWord; - exports.isStrictBindOnlyReservedWord = isStrictBindOnlyReservedWord; - exports.isStrictBindReservedWord = isStrictBindReservedWord; - exports.isStrictReservedWord = isStrictReservedWord; - var reservedWords = { - keyword: ["break", "case", "catch", "continue", "debugger", "default", "do", "else", "finally", "for", "function", "if", "return", "switch", "throw", "try", "var", "const", "while", "with", "new", "this", "super", "class", "extends", "export", "import", "null", "true", "false", "in", "instanceof", "typeof", "void", "delete"], - strict: ["implements", "interface", "let", "package", "private", "protected", "public", "static", "yield"], - strictBind: ["eval", "arguments"] - }; - var keywords = new Set(reservedWords.keyword); - var reservedWordsStrictSet = new Set(reservedWords.strict); - var reservedWordsStrictBindSet = new Set(reservedWords.strictBind); - function isReservedWord(word, inModule) { - return inModule && word === "await" || word === "enum"; - } - function isStrictReservedWord(word, inModule) { - return isReservedWord(word, inModule) || reservedWordsStrictSet.has(word); - } - function isStrictBindOnlyReservedWord(word) { - return reservedWordsStrictBindSet.has(word); - } - function isStrictBindReservedWord(word, inModule) { - return isStrictReservedWord(word, inModule) || isStrictBindOnlyReservedWord(word); - } - function isKeyword(word) { - return keywords.has(word); - } - } -}); - -// node_modules/@babel/helper-validator-identifier/lib/index.js -var require_lib = __commonJS({ - "node_modules/@babel/helper-validator-identifier/lib/index.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { - value: true - }); - Object.defineProperty(exports, "isIdentifierChar", { - enumerable: true, - get: function() { - return _identifier.isIdentifierChar; - } - }); - Object.defineProperty(exports, "isIdentifierName", { - enumerable: true, - get: function() { - return _identifier.isIdentifierName; - } - }); - Object.defineProperty(exports, "isIdentifierStart", { - enumerable: true, - get: function() { - return _identifier.isIdentifierStart; - } - }); - Object.defineProperty(exports, "isKeyword", { - enumerable: true, - get: function() { - return _keyword.isKeyword; - } - }); - Object.defineProperty(exports, "isReservedWord", { - enumerable: true, - get: function() { - return _keyword.isReservedWord; - } - }); - Object.defineProperty(exports, "isStrictBindOnlyReservedWord", { - enumerable: true, - get: function() { - return _keyword.isStrictBindOnlyReservedWord; - } - }); - Object.defineProperty(exports, "isStrictBindReservedWord", { - enumerable: true, - get: function() { - return _keyword.isStrictBindReservedWord; - } - }); - Object.defineProperty(exports, "isStrictReservedWord", { - enumerable: true, - get: function() { - return _keyword.isStrictReservedWord; - } - }); - var _identifier = require_identifier(); - var _keyword = require_keyword(); - } -}); - -// node_modules/@babel/code-frame/node_modules/escape-string-regexp/index.js -var require_escape_string_regexp = __commonJS({ - "node_modules/@babel/code-frame/node_modules/escape-string-regexp/index.js"(exports, module) { - "use strict"; - var matchOperatorsRe = /[|\\{}()[\]^$+*?.]/g; - module.exports = function(str) { - if (typeof str !== "string") { - throw new TypeError("Expected a string"); - } - return str.replace(matchOperatorsRe, "\\$&"); - }; - } -}); - -// node_modules/color-name/index.js -var require_color_name = __commonJS({ - "node_modules/color-name/index.js"(exports, module) { - "use strict"; - module.exports = { - "aliceblue": [240, 248, 255], - "antiquewhite": [250, 235, 215], - "aqua": [0, 255, 255], - "aquamarine": [127, 255, 212], - "azure": [240, 255, 255], - "beige": [245, 245, 220], - "bisque": [255, 228, 196], - "black": [0, 0, 0], - "blanchedalmond": [255, 235, 205], - "blue": [0, 0, 255], - "blueviolet": [138, 43, 226], - "brown": [165, 42, 42], - "burlywood": [222, 184, 135], - "cadetblue": [95, 158, 160], - "chartreuse": [127, 255, 0], - "chocolate": [210, 105, 30], - "coral": [255, 127, 80], - "cornflowerblue": [100, 149, 237], - "cornsilk": [255, 248, 220], - "crimson": [220, 20, 60], - "cyan": [0, 255, 255], - "darkblue": [0, 0, 139], - "darkcyan": [0, 139, 139], - "darkgoldenrod": [184, 134, 11], - "darkgray": [169, 169, 169], - "darkgreen": [0, 100, 0], - "darkgrey": [169, 169, 169], - "darkkhaki": [189, 183, 107], - "darkmagenta": [139, 0, 139], - "darkolivegreen": [85, 107, 47], - "darkorange": [255, 140, 0], - "darkorchid": [153, 50, 204], - "darkred": [139, 0, 0], - "darksalmon": [233, 150, 122], - "darkseagreen": [143, 188, 143], - "darkslateblue": [72, 61, 139], - "darkslategray": [47, 79, 79], - "darkslategrey": [47, 79, 79], - "darkturquoise": [0, 206, 209], - "darkviolet": [148, 0, 211], - "deeppink": [255, 20, 147], - "deepskyblue": [0, 191, 255], - "dimgray": [105, 105, 105], - "dimgrey": [105, 105, 105], - "dodgerblue": [30, 144, 255], - "firebrick": [178, 34, 34], - "floralwhite": [255, 250, 240], - "forestgreen": [34, 139, 34], - "fuchsia": [255, 0, 255], - "gainsboro": [220, 220, 220], - "ghostwhite": [248, 248, 255], - "gold": [255, 215, 0], - "goldenrod": [218, 165, 32], - "gray": [128, 128, 128], - "green": [0, 128, 0], - "greenyellow": [173, 255, 47], - "grey": [128, 128, 128], - "honeydew": [240, 255, 240], - "hotpink": [255, 105, 180], - "indianred": [205, 92, 92], - "indigo": [75, 0, 130], - "ivory": [255, 255, 240], - "khaki": [240, 230, 140], - "lavender": [230, 230, 250], - "lavenderblush": [255, 240, 245], - "lawngreen": [124, 252, 0], - "lemonchiffon": [255, 250, 205], - "lightblue": [173, 216, 230], - "lightcoral": [240, 128, 128], - "lightcyan": [224, 255, 255], - "lightgoldenrodyellow": [250, 250, 210], - "lightgray": [211, 211, 211], - "lightgreen": [144, 238, 144], - "lightgrey": [211, 211, 211], - "lightpink": [255, 182, 193], - "lightsalmon": [255, 160, 122], - "lightseagreen": [32, 178, 170], - "lightskyblue": [135, 206, 250], - "lightslategray": [119, 136, 153], - "lightslategrey": [119, 136, 153], - "lightsteelblue": [176, 196, 222], - "lightyellow": [255, 255, 224], - "lime": [0, 255, 0], - "limegreen": [50, 205, 50], - "linen": [250, 240, 230], - "magenta": [255, 0, 255], - "maroon": [128, 0, 0], - "mediumaquamarine": [102, 205, 170], - "mediumblue": [0, 0, 205], - "mediumorchid": [186, 85, 211], - "mediumpurple": [147, 112, 219], - "mediumseagreen": [60, 179, 113], - "mediumslateblue": [123, 104, 238], - "mediumspringgreen": [0, 250, 154], - "mediumturquoise": [72, 209, 204], - "mediumvioletred": [199, 21, 133], - "midnightblue": [25, 25, 112], - "mintcream": [245, 255, 250], - "mistyrose": [255, 228, 225], - "moccasin": [255, 228, 181], - "navajowhite": [255, 222, 173], - "navy": [0, 0, 128], - "oldlace": [253, 245, 230], - "olive": [128, 128, 0], - "olivedrab": [107, 142, 35], - "orange": [255, 165, 0], - "orangered": [255, 69, 0], - "orchid": [218, 112, 214], - "palegoldenrod": [238, 232, 170], - "palegreen": [152, 251, 152], - "paleturquoise": [175, 238, 238], - "palevioletred": [219, 112, 147], - "papayawhip": [255, 239, 213], - "peachpuff": [255, 218, 185], - "peru": [205, 133, 63], - "pink": [255, 192, 203], - "plum": [221, 160, 221], - "powderblue": [176, 224, 230], - "purple": [128, 0, 128], - "rebeccapurple": [102, 51, 153], - "red": [255, 0, 0], - "rosybrown": [188, 143, 143], - "royalblue": [65, 105, 225], - "saddlebrown": [139, 69, 19], - "salmon": [250, 128, 114], - "sandybrown": [244, 164, 96], - "seagreen": [46, 139, 87], - "seashell": [255, 245, 238], - "sienna": [160, 82, 45], - "silver": [192, 192, 192], - "skyblue": [135, 206, 235], - "slateblue": [106, 90, 205], - "slategray": [112, 128, 144], - "slategrey": [112, 128, 144], - "snow": [255, 250, 250], - "springgreen": [0, 255, 127], - "steelblue": [70, 130, 180], - "tan": [210, 180, 140], - "teal": [0, 128, 128], - "thistle": [216, 191, 216], - "tomato": [255, 99, 71], - "turquoise": [64, 224, 208], - "violet": [238, 130, 238], - "wheat": [245, 222, 179], - "white": [255, 255, 255], - "whitesmoke": [245, 245, 245], - "yellow": [255, 255, 0], - "yellowgreen": [154, 205, 50] - }; - } -}); - -// node_modules/color-convert/conversions.js -var require_conversions = __commonJS({ - "node_modules/color-convert/conversions.js"(exports, module) { - var cssKeywords = require_color_name(); - var reverseKeywords = {}; - for (key in cssKeywords) { - if (cssKeywords.hasOwnProperty(key)) { - reverseKeywords[cssKeywords[key]] = key; - } - } - var key; - var convert = module.exports = { - rgb: { channels: 3, labels: "rgb" }, - hsl: { channels: 3, labels: "hsl" }, - hsv: { channels: 3, labels: "hsv" }, - hwb: { channels: 3, labels: "hwb" }, - cmyk: { channels: 4, labels: "cmyk" }, - xyz: { channels: 3, labels: "xyz" }, - lab: { channels: 3, labels: "lab" }, - lch: { channels: 3, labels: "lch" }, - hex: { channels: 1, labels: ["hex"] }, - keyword: { channels: 1, labels: ["keyword"] }, - ansi16: { channels: 1, labels: ["ansi16"] }, - ansi256: { channels: 1, labels: ["ansi256"] }, - hcg: { channels: 3, labels: ["h", "c", "g"] }, - apple: { channels: 3, labels: ["r16", "g16", "b16"] }, - gray: { channels: 1, labels: ["gray"] } - }; - for (model in convert) { - if (convert.hasOwnProperty(model)) { - if (!("channels" in convert[model])) { - throw new Error("missing channels property: " + model); - } - if (!("labels" in convert[model])) { - throw new Error("missing channel labels property: " + model); - } - if (convert[model].labels.length !== convert[model].channels) { - throw new Error("channel and label counts mismatch: " + model); - } - channels = convert[model].channels; - labels = convert[model].labels; - delete convert[model].channels; - delete convert[model].labels; - Object.defineProperty(convert[model], "channels", { value: channels }); - Object.defineProperty(convert[model], "labels", { value: labels }); - } - } - var channels; - var labels; - var model; - convert.rgb.hsl = function(rgb) { - var r = rgb[0] / 255; - var g = rgb[1] / 255; - var b = rgb[2] / 255; - var min = Math.min(r, g, b); - var max = Math.max(r, g, b); - var delta = max - min; - var h; - var s; - var l; - if (max === min) { - h = 0; - } else if (r === max) { - h = (g - b) / delta; - } else if (g === max) { - h = 2 + (b - r) / delta; - } else if (b === max) { - h = 4 + (r - g) / delta; - } - h = Math.min(h * 60, 360); - if (h < 0) { - h += 360; - } - l = (min + max) / 2; - if (max === min) { - s = 0; - } else if (l <= 0.5) { - s = delta / (max + min); - } else { - s = delta / (2 - max - min); - } - return [h, s * 100, l * 100]; - }; - convert.rgb.hsv = function(rgb) { - var rdif; - var gdif; - var bdif; - var h; - var s; - var r = rgb[0] / 255; - var g = rgb[1] / 255; - var b = rgb[2] / 255; - var v = Math.max(r, g, b); - var diff = v - Math.min(r, g, b); - var diffc = function(c) { - return (v - c) / 6 / diff + 1 / 2; - }; - if (diff === 0) { - h = s = 0; - } else { - s = diff / v; - rdif = diffc(r); - gdif = diffc(g); - bdif = diffc(b); - if (r === v) { - h = bdif - gdif; - } else if (g === v) { - h = 1 / 3 + rdif - bdif; - } else if (b === v) { - h = 2 / 3 + gdif - rdif; - } - if (h < 0) { - h += 1; - } else if (h > 1) { - h -= 1; - } - } - return [ - h * 360, - s * 100, - v * 100 - ]; - }; - convert.rgb.hwb = function(rgb) { - var r = rgb[0]; - var g = rgb[1]; - var b = rgb[2]; - var h = convert.rgb.hsl(rgb)[0]; - var w = 1 / 255 * Math.min(r, Math.min(g, b)); - b = 1 - 1 / 255 * Math.max(r, Math.max(g, b)); - return [h, w * 100, b * 100]; - }; - convert.rgb.cmyk = function(rgb) { - var r = rgb[0] / 255; - var g = rgb[1] / 255; - var b = rgb[2] / 255; - var c; - var m; - var y; - var k; - k = Math.min(1 - r, 1 - g, 1 - b); - c = (1 - r - k) / (1 - k) || 0; - m = (1 - g - k) / (1 - k) || 0; - y = (1 - b - k) / (1 - k) || 0; - return [c * 100, m * 100, y * 100, k * 100]; - }; - function comparativeDistance(x, y) { - return Math.pow(x[0] - y[0], 2) + Math.pow(x[1] - y[1], 2) + Math.pow(x[2] - y[2], 2); - } - convert.rgb.keyword = function(rgb) { - var reversed = reverseKeywords[rgb]; - if (reversed) { - return reversed; - } - var currentClosestDistance = Infinity; - var currentClosestKeyword; - for (var keyword in cssKeywords) { - if (cssKeywords.hasOwnProperty(keyword)) { - var value = cssKeywords[keyword]; - var distance = comparativeDistance(rgb, value); - if (distance < currentClosestDistance) { - currentClosestDistance = distance; - currentClosestKeyword = keyword; - } - } - } - return currentClosestKeyword; - }; - convert.keyword.rgb = function(keyword) { - return cssKeywords[keyword]; - }; - convert.rgb.xyz = function(rgb) { - var r = rgb[0] / 255; - var g = rgb[1] / 255; - var b = rgb[2] / 255; - r = r > 0.04045 ? Math.pow((r + 0.055) / 1.055, 2.4) : r / 12.92; - g = g > 0.04045 ? Math.pow((g + 0.055) / 1.055, 2.4) : g / 12.92; - b = b > 0.04045 ? Math.pow((b + 0.055) / 1.055, 2.4) : b / 12.92; - var x = r * 0.4124 + g * 0.3576 + b * 0.1805; - var y = r * 0.2126 + g * 0.7152 + b * 0.0722; - var z = r * 0.0193 + g * 0.1192 + b * 0.9505; - return [x * 100, y * 100, z * 100]; - }; - convert.rgb.lab = function(rgb) { - var xyz = convert.rgb.xyz(rgb); - var x = xyz[0]; - var y = xyz[1]; - var z = xyz[2]; - var l; - var a; - var b; - x /= 95.047; - y /= 100; - z /= 108.883; - x = x > 8856e-6 ? Math.pow(x, 1 / 3) : 7.787 * x + 16 / 116; - y = y > 8856e-6 ? Math.pow(y, 1 / 3) : 7.787 * y + 16 / 116; - z = z > 8856e-6 ? Math.pow(z, 1 / 3) : 7.787 * z + 16 / 116; - l = 116 * y - 16; - a = 500 * (x - y); - b = 200 * (y - z); - return [l, a, b]; - }; - convert.hsl.rgb = function(hsl) { - var h = hsl[0] / 360; - var s = hsl[1] / 100; - var l = hsl[2] / 100; - var t1; - var t2; - var t3; - var rgb; - var val; - if (s === 0) { - val = l * 255; - return [val, val, val]; - } - if (l < 0.5) { - t2 = l * (1 + s); - } else { - t2 = l + s - l * s; - } - t1 = 2 * l - t2; - rgb = [0, 0, 0]; - for (var i = 0; i < 3; i++) { - t3 = h + 1 / 3 * -(i - 1); - if (t3 < 0) { - t3++; - } - if (t3 > 1) { - t3--; - } - if (6 * t3 < 1) { - val = t1 + (t2 - t1) * 6 * t3; - } else if (2 * t3 < 1) { - val = t2; - } else if (3 * t3 < 2) { - val = t1 + (t2 - t1) * (2 / 3 - t3) * 6; - } else { - val = t1; - } - rgb[i] = val * 255; - } - return rgb; - }; - convert.hsl.hsv = function(hsl) { - var h = hsl[0]; - var s = hsl[1] / 100; - var l = hsl[2] / 100; - var smin = s; - var lmin = Math.max(l, 0.01); - var sv; - var v; - l *= 2; - s *= l <= 1 ? l : 2 - l; - smin *= lmin <= 1 ? lmin : 2 - lmin; - v = (l + s) / 2; - sv = l === 0 ? 2 * smin / (lmin + smin) : 2 * s / (l + s); - return [h, sv * 100, v * 100]; - }; - convert.hsv.rgb = function(hsv) { - var h = hsv[0] / 60; - var s = hsv[1] / 100; - var v = hsv[2] / 100; - var hi = Math.floor(h) % 6; - var f = h - Math.floor(h); - var p = 255 * v * (1 - s); - var q = 255 * v * (1 - s * f); - var t = 255 * v * (1 - s * (1 - f)); - v *= 255; - switch (hi) { - case 0: - return [v, t, p]; - case 1: - return [q, v, p]; - case 2: - return [p, v, t]; - case 3: - return [p, q, v]; - case 4: - return [t, p, v]; - case 5: - return [v, p, q]; - } - }; - convert.hsv.hsl = function(hsv) { - var h = hsv[0]; - var s = hsv[1] / 100; - var v = hsv[2] / 100; - var vmin = Math.max(v, 0.01); - var lmin; - var sl; - var l; - l = (2 - s) * v; - lmin = (2 - s) * vmin; - sl = s * vmin; - sl /= lmin <= 1 ? lmin : 2 - lmin; - sl = sl || 0; - l /= 2; - return [h, sl * 100, l * 100]; - }; - convert.hwb.rgb = function(hwb) { - var h = hwb[0] / 360; - var wh = hwb[1] / 100; - var bl = hwb[2] / 100; - var ratio = wh + bl; - var i; - var v; - var f; - var n; - if (ratio > 1) { - wh /= ratio; - bl /= ratio; - } - i = Math.floor(6 * h); - v = 1 - bl; - f = 6 * h - i; - if ((i & 1) !== 0) { - f = 1 - f; - } - n = wh + f * (v - wh); - var r; - var g; - var b; - switch (i) { - default: - case 6: - case 0: - r = v; - g = n; - b = wh; - break; - case 1: - r = n; - g = v; - b = wh; - break; - case 2: - r = wh; - g = v; - b = n; - break; - case 3: - r = wh; - g = n; - b = v; - break; - case 4: - r = n; - g = wh; - b = v; - break; - case 5: - r = v; - g = wh; - b = n; - break; - } - return [r * 255, g * 255, b * 255]; - }; - convert.cmyk.rgb = function(cmyk) { - var c = cmyk[0] / 100; - var m = cmyk[1] / 100; - var y = cmyk[2] / 100; - var k = cmyk[3] / 100; - var r; - var g; - var b; - r = 1 - Math.min(1, c * (1 - k) + k); - g = 1 - Math.min(1, m * (1 - k) + k); - b = 1 - Math.min(1, y * (1 - k) + k); - return [r * 255, g * 255, b * 255]; - }; - convert.xyz.rgb = function(xyz) { - var x = xyz[0] / 100; - var y = xyz[1] / 100; - var z = xyz[2] / 100; - var r; - var g; - var b; - r = x * 3.2406 + y * -1.5372 + z * -0.4986; - g = x * -0.9689 + y * 1.8758 + z * 0.0415; - b = x * 0.0557 + y * -0.204 + z * 1.057; - r = r > 31308e-7 ? 1.055 * Math.pow(r, 1 / 2.4) - 0.055 : r * 12.92; - g = g > 31308e-7 ? 1.055 * Math.pow(g, 1 / 2.4) - 0.055 : g * 12.92; - b = b > 31308e-7 ? 1.055 * Math.pow(b, 1 / 2.4) - 0.055 : b * 12.92; - r = Math.min(Math.max(0, r), 1); - g = Math.min(Math.max(0, g), 1); - b = Math.min(Math.max(0, b), 1); - return [r * 255, g * 255, b * 255]; - }; - convert.xyz.lab = function(xyz) { - var x = xyz[0]; - var y = xyz[1]; - var z = xyz[2]; - var l; - var a; - var b; - x /= 95.047; - y /= 100; - z /= 108.883; - x = x > 8856e-6 ? Math.pow(x, 1 / 3) : 7.787 * x + 16 / 116; - y = y > 8856e-6 ? Math.pow(y, 1 / 3) : 7.787 * y + 16 / 116; - z = z > 8856e-6 ? Math.pow(z, 1 / 3) : 7.787 * z + 16 / 116; - l = 116 * y - 16; - a = 500 * (x - y); - b = 200 * (y - z); - return [l, a, b]; - }; - convert.lab.xyz = function(lab) { - var l = lab[0]; - var a = lab[1]; - var b = lab[2]; - var x; - var y; - var z; - y = (l + 16) / 116; - x = a / 500 + y; - z = y - b / 200; - var y2 = Math.pow(y, 3); - var x2 = Math.pow(x, 3); - var z2 = Math.pow(z, 3); - y = y2 > 8856e-6 ? y2 : (y - 16 / 116) / 7.787; - x = x2 > 8856e-6 ? x2 : (x - 16 / 116) / 7.787; - z = z2 > 8856e-6 ? z2 : (z - 16 / 116) / 7.787; - x *= 95.047; - y *= 100; - z *= 108.883; - return [x, y, z]; - }; - convert.lab.lch = function(lab) { - var l = lab[0]; - var a = lab[1]; - var b = lab[2]; - var hr; - var h; - var c; - hr = Math.atan2(b, a); - h = hr * 360 / 2 / Math.PI; - if (h < 0) { - h += 360; - } - c = Math.sqrt(a * a + b * b); - return [l, c, h]; - }; - convert.lch.lab = function(lch) { - var l = lch[0]; - var c = lch[1]; - var h = lch[2]; - var a; - var b; - var hr; - hr = h / 360 * 2 * Math.PI; - a = c * Math.cos(hr); - b = c * Math.sin(hr); - return [l, a, b]; - }; - convert.rgb.ansi16 = function(args) { - var r = args[0]; - var g = args[1]; - var b = args[2]; - var value = 1 in arguments ? arguments[1] : convert.rgb.hsv(args)[2]; - value = Math.round(value / 50); - if (value === 0) { - return 30; - } - var ansi = 30 + (Math.round(b / 255) << 2 | Math.round(g / 255) << 1 | Math.round(r / 255)); - if (value === 2) { - ansi += 60; - } - return ansi; - }; - convert.hsv.ansi16 = function(args) { - return convert.rgb.ansi16(convert.hsv.rgb(args), args[2]); - }; - convert.rgb.ansi256 = function(args) { - var r = args[0]; - var g = args[1]; - var b = args[2]; - if (r === g && g === b) { - if (r < 8) { - return 16; - } - if (r > 248) { - return 231; - } - return Math.round((r - 8) / 247 * 24) + 232; - } - var ansi = 16 + 36 * Math.round(r / 255 * 5) + 6 * Math.round(g / 255 * 5) + Math.round(b / 255 * 5); - return ansi; - }; - convert.ansi16.rgb = function(args) { - var color = args % 10; - if (color === 0 || color === 7) { - if (args > 50) { - color += 3.5; - } - color = color / 10.5 * 255; - return [color, color, color]; - } - var mult = (~~(args > 50) + 1) * 0.5; - var r = (color & 1) * mult * 255; - var g = (color >> 1 & 1) * mult * 255; - var b = (color >> 2 & 1) * mult * 255; - return [r, g, b]; - }; - convert.ansi256.rgb = function(args) { - if (args >= 232) { - var c = (args - 232) * 10 + 8; - return [c, c, c]; - } - args -= 16; - var rem; - var r = Math.floor(args / 36) / 5 * 255; - var g = Math.floor((rem = args % 36) / 6) / 5 * 255; - var b = rem % 6 / 5 * 255; - return [r, g, b]; - }; - convert.rgb.hex = function(args) { - var integer = ((Math.round(args[0]) & 255) << 16) + ((Math.round(args[1]) & 255) << 8) + (Math.round(args[2]) & 255); - var string = integer.toString(16).toUpperCase(); - return "000000".substring(string.length) + string; - }; - convert.hex.rgb = function(args) { - var match = args.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i); - if (!match) { - return [0, 0, 0]; - } - var colorString = match[0]; - if (match[0].length === 3) { - colorString = colorString.split("").map(function(char) { - return char + char; - }).join(""); - } - var integer = parseInt(colorString, 16); - var r = integer >> 16 & 255; - var g = integer >> 8 & 255; - var b = integer & 255; - return [r, g, b]; - }; - convert.rgb.hcg = function(rgb) { - var r = rgb[0] / 255; - var g = rgb[1] / 255; - var b = rgb[2] / 255; - var max = Math.max(Math.max(r, g), b); - var min = Math.min(Math.min(r, g), b); - var chroma = max - min; - var grayscale; - var hue; - if (chroma < 1) { - grayscale = min / (1 - chroma); - } else { - grayscale = 0; - } - if (chroma <= 0) { - hue = 0; - } else if (max === r) { - hue = (g - b) / chroma % 6; - } else if (max === g) { - hue = 2 + (b - r) / chroma; - } else { - hue = 4 + (r - g) / chroma + 4; - } - hue /= 6; - hue %= 1; - return [hue * 360, chroma * 100, grayscale * 100]; - }; - convert.hsl.hcg = function(hsl) { - var s = hsl[1] / 100; - var l = hsl[2] / 100; - var c = 1; - var f = 0; - if (l < 0.5) { - c = 2 * s * l; - } else { - c = 2 * s * (1 - l); - } - if (c < 1) { - f = (l - 0.5 * c) / (1 - c); - } - return [hsl[0], c * 100, f * 100]; - }; - convert.hsv.hcg = function(hsv) { - var s = hsv[1] / 100; - var v = hsv[2] / 100; - var c = s * v; - var f = 0; - if (c < 1) { - f = (v - c) / (1 - c); - } - return [hsv[0], c * 100, f * 100]; - }; - convert.hcg.rgb = function(hcg) { - var h = hcg[0] / 360; - var c = hcg[1] / 100; - var g = hcg[2] / 100; - if (c === 0) { - return [g * 255, g * 255, g * 255]; - } - var pure = [0, 0, 0]; - var hi = h % 1 * 6; - var v = hi % 1; - var w = 1 - v; - var mg = 0; - switch (Math.floor(hi)) { - case 0: - pure[0] = 1; - pure[1] = v; - pure[2] = 0; - break; - case 1: - pure[0] = w; - pure[1] = 1; - pure[2] = 0; - break; - case 2: - pure[0] = 0; - pure[1] = 1; - pure[2] = v; - break; - case 3: - pure[0] = 0; - pure[1] = w; - pure[2] = 1; - break; - case 4: - pure[0] = v; - pure[1] = 0; - pure[2] = 1; - break; - default: - pure[0] = 1; - pure[1] = 0; - pure[2] = w; - } - mg = (1 - c) * g; - return [ - (c * pure[0] + mg) * 255, - (c * pure[1] + mg) * 255, - (c * pure[2] + mg) * 255 - ]; - }; - convert.hcg.hsv = function(hcg) { - var c = hcg[1] / 100; - var g = hcg[2] / 100; - var v = c + g * (1 - c); - var f = 0; - if (v > 0) { - f = c / v; - } - return [hcg[0], f * 100, v * 100]; - }; - convert.hcg.hsl = function(hcg) { - var c = hcg[1] / 100; - var g = hcg[2] / 100; - var l = g * (1 - c) + 0.5 * c; - var s = 0; - if (l > 0 && l < 0.5) { - s = c / (2 * l); - } else if (l >= 0.5 && l < 1) { - s = c / (2 * (1 - l)); - } - return [hcg[0], s * 100, l * 100]; - }; - convert.hcg.hwb = function(hcg) { - var c = hcg[1] / 100; - var g = hcg[2] / 100; - var v = c + g * (1 - c); - return [hcg[0], (v - c) * 100, (1 - v) * 100]; - }; - convert.hwb.hcg = function(hwb) { - var w = hwb[1] / 100; - var b = hwb[2] / 100; - var v = 1 - b; - var c = v - w; - var g = 0; - if (c < 1) { - g = (v - c) / (1 - c); - } - return [hwb[0], c * 100, g * 100]; - }; - convert.apple.rgb = function(apple) { - return [apple[0] / 65535 * 255, apple[1] / 65535 * 255, apple[2] / 65535 * 255]; - }; - convert.rgb.apple = function(rgb) { - return [rgb[0] / 255 * 65535, rgb[1] / 255 * 65535, rgb[2] / 255 * 65535]; - }; - convert.gray.rgb = function(args) { - return [args[0] / 100 * 255, args[0] / 100 * 255, args[0] / 100 * 255]; - }; - convert.gray.hsl = convert.gray.hsv = function(args) { - return [0, 0, args[0]]; - }; - convert.gray.hwb = function(gray) { - return [0, 100, gray[0]]; - }; - convert.gray.cmyk = function(gray) { - return [0, 0, 0, gray[0]]; - }; - convert.gray.lab = function(gray) { - return [gray[0], 0, 0]; - }; - convert.gray.hex = function(gray) { - var val = Math.round(gray[0] / 100 * 255) & 255; - var integer = (val << 16) + (val << 8) + val; - var string = integer.toString(16).toUpperCase(); - return "000000".substring(string.length) + string; - }; - convert.rgb.gray = function(rgb) { - var val = (rgb[0] + rgb[1] + rgb[2]) / 3; - return [val / 255 * 100]; - }; - } -}); - -// node_modules/color-convert/route.js -var require_route = __commonJS({ - "node_modules/color-convert/route.js"(exports, module) { - var conversions = require_conversions(); - function buildGraph() { - var graph = {}; - var models = Object.keys(conversions); - for (var len = models.length, i = 0; i < len; i++) { - graph[models[i]] = { - // http://jsperf.com/1-vs-infinity - // micro-opt, but this is simple. - distance: -1, - parent: null - }; - } - return graph; - } - function deriveBFS(fromModel) { - var graph = buildGraph(); - var queue = [fromModel]; - graph[fromModel].distance = 0; - while (queue.length) { - var current = queue.pop(); - var adjacents = Object.keys(conversions[current]); - for (var len = adjacents.length, i = 0; i < len; i++) { - var adjacent = adjacents[i]; - var node = graph[adjacent]; - if (node.distance === -1) { - node.distance = graph[current].distance + 1; - node.parent = current; - queue.unshift(adjacent); - } - } - } - return graph; - } - function link(from, to) { - return function(args) { - return to(from(args)); - }; - } - function wrapConversion(toModel, graph) { - var path9 = [graph[toModel].parent, toModel]; - var fn = conversions[graph[toModel].parent][toModel]; - var cur = graph[toModel].parent; - while (graph[cur].parent) { - path9.unshift(graph[cur].parent); - fn = link(conversions[graph[cur].parent][cur], fn); - cur = graph[cur].parent; - } - fn.conversion = path9; - return fn; - } - module.exports = function(fromModel) { - var graph = deriveBFS(fromModel); - var conversion = {}; - var models = Object.keys(graph); - for (var len = models.length, i = 0; i < len; i++) { - var toModel = models[i]; - var node = graph[toModel]; - if (node.parent === null) { - continue; - } - conversion[toModel] = wrapConversion(toModel, graph); - } - return conversion; - }; - } -}); - -// node_modules/color-convert/index.js -var require_color_convert = __commonJS({ - "node_modules/color-convert/index.js"(exports, module) { - var conversions = require_conversions(); - var route = require_route(); - var convert = {}; - var models = Object.keys(conversions); - function wrapRaw(fn) { - var wrappedFn = function(args) { - if (args === void 0 || args === null) { - return args; - } - if (arguments.length > 1) { - args = Array.prototype.slice.call(arguments); - } - return fn(args); - }; - if ("conversion" in fn) { - wrappedFn.conversion = fn.conversion; - } - return wrappedFn; - } - function wrapRounded(fn) { - var wrappedFn = function(args) { - if (args === void 0 || args === null) { - return args; - } - if (arguments.length > 1) { - args = Array.prototype.slice.call(arguments); - } - var result = fn(args); - if (typeof result === "object") { - for (var len = result.length, i = 0; i < len; i++) { - result[i] = Math.round(result[i]); - } - } - return result; - }; - if ("conversion" in fn) { - wrappedFn.conversion = fn.conversion; - } - return wrappedFn; - } - models.forEach(function(fromModel) { - convert[fromModel] = {}; - Object.defineProperty(convert[fromModel], "channels", { value: conversions[fromModel].channels }); - Object.defineProperty(convert[fromModel], "labels", { value: conversions[fromModel].labels }); - var routes = route(fromModel); - var routeModels = Object.keys(routes); - routeModels.forEach(function(toModel) { - var fn = routes[toModel]; - convert[fromModel][toModel] = wrapRounded(fn); - convert[fromModel][toModel].raw = wrapRaw(fn); - }); - }); - module.exports = convert; - } -}); - -// node_modules/ansi-styles/index.js -var require_ansi_styles = __commonJS({ - "node_modules/ansi-styles/index.js"(exports, module) { - "use strict"; - var colorConvert = require_color_convert(); - var wrapAnsi162 = (fn, offset) => function() { - const code = fn.apply(colorConvert, arguments); - return `\x1B[${code + offset}m`; - }; - var wrapAnsi2562 = (fn, offset) => function() { - const code = fn.apply(colorConvert, arguments); - return `\x1B[${38 + offset};5;${code}m`; - }; - var wrapAnsi16m2 = (fn, offset) => function() { - const rgb = fn.apply(colorConvert, arguments); - return `\x1B[${38 + offset};2;${rgb[0]};${rgb[1]};${rgb[2]}m`; - }; - function assembleStyles2() { - const codes2 = /* @__PURE__ */ new Map(); - const styles3 = { - modifier: { - reset: [0, 0], - // 21 isn't widely supported and 22 does the same thing - bold: [1, 22], - dim: [2, 22], - italic: [3, 23], - underline: [4, 24], - inverse: [7, 27], - hidden: [8, 28], - strikethrough: [9, 29] - }, - color: { - black: [30, 39], - red: [31, 39], - green: [32, 39], - yellow: [33, 39], - blue: [34, 39], - magenta: [35, 39], - cyan: [36, 39], - white: [37, 39], - gray: [90, 39], - // Bright color - redBright: [91, 39], - greenBright: [92, 39], - yellowBright: [93, 39], - blueBright: [94, 39], - magentaBright: [95, 39], - cyanBright: [96, 39], - whiteBright: [97, 39] - }, - bgColor: { - bgBlack: [40, 49], - bgRed: [41, 49], - bgGreen: [42, 49], - bgYellow: [43, 49], - bgBlue: [44, 49], - bgMagenta: [45, 49], - bgCyan: [46, 49], - bgWhite: [47, 49], - // Bright color - bgBlackBright: [100, 49], - bgRedBright: [101, 49], - bgGreenBright: [102, 49], - bgYellowBright: [103, 49], - bgBlueBright: [104, 49], - bgMagentaBright: [105, 49], - bgCyanBright: [106, 49], - bgWhiteBright: [107, 49] - } - }; - styles3.color.grey = styles3.color.gray; - for (const groupName of Object.keys(styles3)) { - const group = styles3[groupName]; - for (const styleName of Object.keys(group)) { - const style = group[styleName]; - styles3[styleName] = { - open: `\x1B[${style[0]}m`, - close: `\x1B[${style[1]}m` - }; - group[styleName] = styles3[styleName]; - codes2.set(style[0], style[1]); - } - Object.defineProperty(styles3, groupName, { - value: group, - enumerable: false - }); - Object.defineProperty(styles3, "codes", { - value: codes2, - enumerable: false - }); - } - const ansi2ansi = (n) => n; - const rgb2rgb = (r, g, b) => [r, g, b]; - styles3.color.close = "\x1B[39m"; - styles3.bgColor.close = "\x1B[49m"; - styles3.color.ansi = { - ansi: wrapAnsi162(ansi2ansi, 0) - }; - styles3.color.ansi256 = { - ansi256: wrapAnsi2562(ansi2ansi, 0) - }; - styles3.color.ansi16m = { - rgb: wrapAnsi16m2(rgb2rgb, 0) - }; - styles3.bgColor.ansi = { - ansi: wrapAnsi162(ansi2ansi, 10) - }; - styles3.bgColor.ansi256 = { - ansi256: wrapAnsi2562(ansi2ansi, 10) - }; - styles3.bgColor.ansi16m = { - rgb: wrapAnsi16m2(rgb2rgb, 10) - }; - for (let key of Object.keys(colorConvert)) { - if (typeof colorConvert[key] !== "object") { - continue; - } - const suite = colorConvert[key]; - if (key === "ansi16") { - key = "ansi"; - } - if ("ansi16" in suite) { - styles3.color.ansi[key] = wrapAnsi162(suite.ansi16, 0); - styles3.bgColor.ansi[key] = wrapAnsi162(suite.ansi16, 10); - } - if ("ansi256" in suite) { - styles3.color.ansi256[key] = wrapAnsi2562(suite.ansi256, 0); - styles3.bgColor.ansi256[key] = wrapAnsi2562(suite.ansi256, 10); - } - if ("rgb" in suite) { - styles3.color.ansi16m[key] = wrapAnsi16m2(suite.rgb, 0); - styles3.bgColor.ansi16m[key] = wrapAnsi16m2(suite.rgb, 10); - } - } - return styles3; - } - Object.defineProperty(module, "exports", { - enumerable: true, - get: assembleStyles2 - }); - } -}); - -// node_modules/@babel/code-frame/node_modules/has-flag/index.js -var require_has_flag = __commonJS({ - "node_modules/@babel/code-frame/node_modules/has-flag/index.js"(exports, module) { - "use strict"; - module.exports = (flag, argv) => { - argv = argv || process.argv; - const prefix = flag.startsWith("-") ? "" : flag.length === 1 ? "-" : "--"; - const pos = argv.indexOf(prefix + flag); - const terminatorPos = argv.indexOf("--"); - return pos !== -1 && (terminatorPos === -1 ? true : pos < terminatorPos); - }; - } -}); - -// node_modules/@babel/code-frame/node_modules/supports-color/index.js -var require_supports_color = __commonJS({ - "node_modules/@babel/code-frame/node_modules/supports-color/index.js"(exports, module) { - "use strict"; - var os2 = __require("os"); - var hasFlag2 = require_has_flag(); - var env2 = process.env; - var forceColor; - if (hasFlag2("no-color") || hasFlag2("no-colors") || hasFlag2("color=false")) { - forceColor = false; - } else if (hasFlag2("color") || hasFlag2("colors") || hasFlag2("color=true") || hasFlag2("color=always")) { - forceColor = true; - } - if ("FORCE_COLOR" in env2) { - forceColor = env2.FORCE_COLOR.length === 0 || parseInt(env2.FORCE_COLOR, 10) !== 0; - } - function translateLevel2(level) { - if (level === 0) { - return false; - } - return { - level, - hasBasic: true, - has256: level >= 2, - has16m: level >= 3 - }; - } - function supportsColor2(stream) { - if (forceColor === false) { - return 0; - } - if (hasFlag2("color=16m") || hasFlag2("color=full") || hasFlag2("color=truecolor")) { - return 3; - } - if (hasFlag2("color=256")) { - return 2; - } - if (stream && !stream.isTTY && forceColor !== true) { - return 0; - } - const min = forceColor ? 1 : 0; - if (process.platform === "win32") { - const osRelease = os2.release().split("."); - if (Number(process.versions.node.split(".")[0]) >= 8 && Number(osRelease[0]) >= 10 && Number(osRelease[2]) >= 10586) { - return Number(osRelease[2]) >= 14931 ? 3 : 2; - } - return 1; - } - if ("CI" in env2) { - if (["TRAVIS", "CIRCLECI", "APPVEYOR", "GITLAB_CI"].some((sign) => sign in env2) || env2.CI_NAME === "codeship") { - return 1; - } - return min; - } - if ("TEAMCITY_VERSION" in env2) { - return /^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(env2.TEAMCITY_VERSION) ? 1 : 0; - } - if (env2.COLORTERM === "truecolor") { - return 3; - } - if ("TERM_PROGRAM" in env2) { - const version = parseInt((env2.TERM_PROGRAM_VERSION || "").split(".")[0], 10); - switch (env2.TERM_PROGRAM) { - case "iTerm.app": - return version >= 3 ? 3 : 2; - case "Apple_Terminal": - return 2; - } - } - if (/-256(color)?$/i.test(env2.TERM)) { - return 2; - } - if (/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(env2.TERM)) { - return 1; - } - if ("COLORTERM" in env2) { - return 1; - } - if (env2.TERM === "dumb") { - return min; - } - return min; - } - function getSupportLevel(stream) { - const level = supportsColor2(stream); - return translateLevel2(level); - } - module.exports = { - supportsColor: getSupportLevel, - stdout: getSupportLevel(process.stdout), - stderr: getSupportLevel(process.stderr) - }; - } -}); - -// node_modules/@babel/code-frame/node_modules/chalk/templates.js -var require_templates = __commonJS({ - "node_modules/@babel/code-frame/node_modules/chalk/templates.js"(exports, module) { - "use strict"; - var TEMPLATE_REGEX = /(?:\\(u[a-f\d]{4}|x[a-f\d]{2}|.))|(?:\{(~)?(\w+(?:\([^)]*\))?(?:\.\w+(?:\([^)]*\))?)*)(?:[ \t]|(?=\r?\n)))|(\})|((?:.|[\r\n\f])+?)/gi; - var STYLE_REGEX = /(?:^|\.)(\w+)(?:\(([^)]*)\))?/g; - var STRING_REGEX = /^(['"])((?:\\.|(?!\1)[^\\])*)\1$/; - var ESCAPE_REGEX = /\\(u[a-f\d]{4}|x[a-f\d]{2}|.)|([^\\])/gi; - var ESCAPES = /* @__PURE__ */ new Map([ - ["n", "\n"], - ["r", "\r"], - ["t", " "], - ["b", "\b"], - ["f", "\f"], - ["v", "\v"], - ["0", "\0"], - ["\\", "\\"], - ["e", "\x1B"], - ["a", "\x07"] - ]); - function unescape(c) { - if (c[0] === "u" && c.length === 5 || c[0] === "x" && c.length === 3) { - return String.fromCharCode(parseInt(c.slice(1), 16)); - } - return ESCAPES.get(c) || c; - } - function parseArguments(name, args) { - const results = []; - const chunks = args.trim().split(/\s*,\s*/g); - let matches; - for (const chunk of chunks) { - if (!isNaN(chunk)) { - results.push(Number(chunk)); - } else if (matches = chunk.match(STRING_REGEX)) { - results.push(matches[2].replace(ESCAPE_REGEX, (m, escape, chr) => escape ? unescape(escape) : chr)); - } else { - throw new Error(`Invalid Chalk template style argument: ${chunk} (in style '${name}')`); - } - } - return results; - } - function parseStyle(style) { - STYLE_REGEX.lastIndex = 0; - const results = []; - let matches; - while ((matches = STYLE_REGEX.exec(style)) !== null) { - const name = matches[1]; - if (matches[2]) { - const args = parseArguments(name, matches[2]); - results.push([name].concat(args)); - } else { - results.push([name]); - } - } - return results; - } - function buildStyle(chalk2, styles3) { - const enabled = {}; - for (const layer of styles3) { - for (const style of layer.styles) { - enabled[style[0]] = layer.inverse ? null : style.slice(1); - } - } - let current = chalk2; - for (const styleName of Object.keys(enabled)) { - if (Array.isArray(enabled[styleName])) { - if (!(styleName in current)) { - throw new Error(`Unknown Chalk style: ${styleName}`); - } - if (enabled[styleName].length > 0) { - current = current[styleName].apply(current, enabled[styleName]); - } else { - current = current[styleName]; - } - } - } - return current; - } - module.exports = (chalk2, tmp) => { - const styles3 = []; - const chunks = []; - let chunk = []; - tmp.replace(TEMPLATE_REGEX, (m, escapeChar, inverse, style, close, chr) => { - if (escapeChar) { - chunk.push(unescape(escapeChar)); - } else if (style) { - const str = chunk.join(""); - chunk = []; - chunks.push(styles3.length === 0 ? str : buildStyle(chalk2, styles3)(str)); - styles3.push({ inverse, styles: parseStyle(style) }); - } else if (close) { - if (styles3.length === 0) { - throw new Error("Found extraneous } in Chalk template literal"); - } - chunks.push(buildStyle(chalk2, styles3)(chunk.join(""))); - chunk = []; - styles3.pop(); - } else { - chunk.push(chr); - } - }); - chunks.push(chunk.join("")); - if (styles3.length > 0) { - const errMsg = `Chalk template literal is missing ${styles3.length} closing bracket${styles3.length === 1 ? "" : "s"} (\`}\`)`; - throw new Error(errMsg); - } - return chunks.join(""); - }; - } -}); - -// node_modules/@babel/code-frame/node_modules/chalk/index.js -var require_chalk = __commonJS({ - "node_modules/@babel/code-frame/node_modules/chalk/index.js"(exports, module) { - "use strict"; - var escapeStringRegexp2 = require_escape_string_regexp(); - var ansiStyles2 = require_ansi_styles(); - var stdoutColor2 = require_supports_color().stdout; - var template = require_templates(); - var isSimpleWindowsTerm = process.platform === "win32" && !(process.env.TERM || "").toLowerCase().startsWith("xterm"); - var levelMapping2 = ["ansi", "ansi", "ansi256", "ansi16m"]; - var skipModels = /* @__PURE__ */ new Set(["gray"]); - var styles3 = /* @__PURE__ */ Object.create(null); - function applyOptions2(obj, options8) { - options8 = options8 || {}; - const scLevel = stdoutColor2 ? stdoutColor2.level : 0; - obj.level = options8.level === void 0 ? scLevel : options8.level; - obj.enabled = "enabled" in options8 ? options8.enabled : obj.level > 0; - } - function Chalk(options8) { - if (!this || !(this instanceof Chalk) || this.template) { - const chalk2 = {}; - applyOptions2(chalk2, options8); - chalk2.template = function() { - const args = [].slice.call(arguments); - return chalkTag.apply(null, [chalk2.template].concat(args)); - }; - Object.setPrototypeOf(chalk2, Chalk.prototype); - Object.setPrototypeOf(chalk2.template, chalk2); - chalk2.template.constructor = Chalk; - return chalk2.template; - } - applyOptions2(this, options8); - } - if (isSimpleWindowsTerm) { - ansiStyles2.blue.open = "\x1B[94m"; - } - for (const key of Object.keys(ansiStyles2)) { - ansiStyles2[key].closeRe = new RegExp(escapeStringRegexp2(ansiStyles2[key].close), "g"); - styles3[key] = { - get() { - const codes2 = ansiStyles2[key]; - return build.call(this, this._styles ? this._styles.concat(codes2) : [codes2], this._empty, key); - } - }; - } - styles3.visible = { - get() { - return build.call(this, this._styles || [], true, "visible"); - } - }; - ansiStyles2.color.closeRe = new RegExp(escapeStringRegexp2(ansiStyles2.color.close), "g"); - for (const model of Object.keys(ansiStyles2.color.ansi)) { - if (skipModels.has(model)) { - continue; - } - styles3[model] = { - get() { - const level = this.level; - return function() { - const open = ansiStyles2.color[levelMapping2[level]][model].apply(null, arguments); - const codes2 = { - open, - close: ansiStyles2.color.close, - closeRe: ansiStyles2.color.closeRe - }; - return build.call(this, this._styles ? this._styles.concat(codes2) : [codes2], this._empty, model); - }; - } - }; - } - ansiStyles2.bgColor.closeRe = new RegExp(escapeStringRegexp2(ansiStyles2.bgColor.close), "g"); - for (const model of Object.keys(ansiStyles2.bgColor.ansi)) { - if (skipModels.has(model)) { - continue; - } - const bgModel = "bg" + model[0].toUpperCase() + model.slice(1); - styles3[bgModel] = { - get() { - const level = this.level; - return function() { - const open = ansiStyles2.bgColor[levelMapping2[level]][model].apply(null, arguments); - const codes2 = { - open, - close: ansiStyles2.bgColor.close, - closeRe: ansiStyles2.bgColor.closeRe - }; - return build.call(this, this._styles ? this._styles.concat(codes2) : [codes2], this._empty, model); - }; - } - }; - } - var proto2 = Object.defineProperties(() => { - }, styles3); - function build(_styles, _empty, key) { - const builder = function() { - return applyStyle2.apply(builder, arguments); - }; - builder._styles = _styles; - builder._empty = _empty; - const self = this; - Object.defineProperty(builder, "level", { - enumerable: true, - get() { - return self.level; - }, - set(level) { - self.level = level; - } - }); - Object.defineProperty(builder, "enabled", { - enumerable: true, - get() { - return self.enabled; - }, - set(enabled) { - self.enabled = enabled; - } - }); - builder.hasGrey = this.hasGrey || key === "gray" || key === "grey"; - builder.__proto__ = proto2; - return builder; - } - function applyStyle2() { - const args = arguments; - const argsLen = args.length; - let str = String(arguments[0]); - if (argsLen === 0) { - return ""; - } - if (argsLen > 1) { - for (let a = 1; a < argsLen; a++) { - str += " " + args[a]; - } - } - if (!this.enabled || this.level <= 0 || !str) { - return this._empty ? "" : str; - } - const originalDim = ansiStyles2.dim.open; - if (isSimpleWindowsTerm && this.hasGrey) { - ansiStyles2.dim.open = ""; - } - for (const code of this._styles.slice().reverse()) { - str = code.open + str.replace(code.closeRe, code.open) + code.close; - str = str.replace(/\r?\n/g, `${code.close}$&${code.open}`); - } - ansiStyles2.dim.open = originalDim; - return str; - } - function chalkTag(chalk2, strings) { - if (!Array.isArray(strings)) { - return [].slice.call(arguments, 1).join(" "); - } - const args = [].slice.call(arguments, 2); - const parts = [strings.raw[0]]; - for (let i = 1; i < strings.length; i++) { - parts.push(String(args[i - 1]).replace(/[{}\\]/g, "\\$&")); - parts.push(String(strings.raw[i])); - } - return template(chalk2, parts.join("")); - } - Object.defineProperties(Chalk.prototype, styles3); - module.exports = Chalk(); - module.exports.supportsColor = stdoutColor2; - module.exports.default = module.exports; - } -}); - -// node_modules/@babel/highlight/lib/index.js -var require_lib2 = __commonJS({ - "node_modules/@babel/highlight/lib/index.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { - value: true - }); - exports.default = highlight; - exports.shouldHighlight = shouldHighlight; - var _jsTokens = require_js_tokens(); - var _helperValidatorIdentifier = require_lib(); - var _chalk2 = require_chalk(); - var chalk2 = _chalk2; - var sometimesKeywords = /* @__PURE__ */ new Set(["as", "async", "from", "get", "of", "set"]); - function getDefs(chalk3) { - return { - keyword: chalk3.cyan, - capitalized: chalk3.yellow, - jsxIdentifier: chalk3.yellow, - punctuator: chalk3.yellow, - number: chalk3.magenta, - string: chalk3.green, - regex: chalk3.magenta, - comment: chalk3.grey, - invalid: chalk3.white.bgRed.bold - }; - } - var NEWLINE = /\r\n|[\n\r\u2028\u2029]/; - var BRACKET = /^[()[\]{}]$/; - var tokenize; - { - const JSX_TAG = /^[a-z][\w-]*$/i; - const getTokenType = function(token, offset, text) { - if (token.type === "name") { - if ((0, _helperValidatorIdentifier.isKeyword)(token.value) || (0, _helperValidatorIdentifier.isStrictReservedWord)(token.value, true) || sometimesKeywords.has(token.value)) { - return "keyword"; - } - if (JSX_TAG.test(token.value) && (text[offset - 1] === "<" || text.slice(offset - 2, offset) == "</")) { - return "jsxIdentifier"; - } - if (token.value[0] !== token.value[0].toLowerCase()) { - return "capitalized"; - } - } - if (token.type === "punctuator" && BRACKET.test(token.value)) { - return "bracket"; - } - if (token.type === "invalid" && (token.value === "@" || token.value === "#")) { - return "punctuator"; - } - return token.type; - }; - tokenize = function* (text) { - let match; - while (match = _jsTokens.default.exec(text)) { - const token = _jsTokens.matchToToken(match); - yield { - type: getTokenType(token, match.index, text), - value: token.value - }; - } - }; - } - function highlightTokens(defs, text) { - let highlighted = ""; - for (const { - type, - value - } of tokenize(text)) { - const colorize = defs[type]; - if (colorize) { - highlighted += value.split(NEWLINE).map((str) => colorize(str)).join("\n"); - } else { - highlighted += value; - } - } - return highlighted; - } - function shouldHighlight(options8) { - return !!chalk2.supportsColor || options8.forceColor; - } - var chalkWithForcedColor = void 0; - function getChalk(forceColor) { - if (forceColor) { - var _chalkWithForcedColor; - (_chalkWithForcedColor = chalkWithForcedColor) != null ? _chalkWithForcedColor : chalkWithForcedColor = new chalk2.constructor({ - enabled: true, - level: 1 - }); - return chalkWithForcedColor; - } - return chalk2; - } - { - { - exports.getChalk = (options8) => getChalk(options8.forceColor); - } - } - function highlight(code, options8 = {}) { - if (code !== "" && shouldHighlight(options8)) { - const defs = getDefs(getChalk(options8.forceColor)); - return highlightTokens(defs, code); - } else { - return code; - } - } - } -}); - -// node_modules/@babel/code-frame/lib/index.js -var require_lib3 = __commonJS({ - "node_modules/@babel/code-frame/lib/index.js"(exports) { - "use strict"; - Object.defineProperty(exports, "__esModule", { - value: true - }); - exports.codeFrameColumns = codeFrameColumns2; - exports.default = _default; - var _highlight = require_lib2(); - var _chalk2 = require_chalk(); - var chalk2 = _chalk2; - var chalkWithForcedColor = void 0; - function getChalk(forceColor) { - if (forceColor) { - var _chalkWithForcedColor; - (_chalkWithForcedColor = chalkWithForcedColor) != null ? _chalkWithForcedColor : chalkWithForcedColor = new chalk2.constructor({ - enabled: true, - level: 1 - }); - return chalkWithForcedColor; - } - return chalk2; - } - var deprecationWarningShown = false; - function getDefs(chalk3) { - return { - gutter: chalk3.grey, - marker: chalk3.red.bold, - message: chalk3.red.bold - }; - } - var NEWLINE = /\r\n|[\n\r\u2028\u2029]/; - function getMarkerLines(loc, source, opts) { - const startLoc = Object.assign({ - column: 0, - line: -1 - }, loc.start); - const endLoc = Object.assign({}, startLoc, loc.end); - const { - linesAbove = 2, - linesBelow = 3 - } = opts || {}; - const startLine = startLoc.line; - const startColumn = startLoc.column; - const endLine = endLoc.line; - const endColumn = endLoc.column; - let start = Math.max(startLine - (linesAbove + 1), 0); - let end = Math.min(source.length, endLine + linesBelow); - if (startLine === -1) { - start = 0; - } - if (endLine === -1) { - end = source.length; - } - const lineDiff = endLine - startLine; - const markerLines = {}; - if (lineDiff) { - for (let i = 0; i <= lineDiff; i++) { - const lineNumber = i + startLine; - if (!startColumn) { - markerLines[lineNumber] = true; - } else if (i === 0) { - const sourceLength = source[lineNumber - 1].length; - markerLines[lineNumber] = [startColumn, sourceLength - startColumn + 1]; - } else if (i === lineDiff) { - markerLines[lineNumber] = [0, endColumn]; - } else { - const sourceLength = source[lineNumber - i].length; - markerLines[lineNumber] = [0, sourceLength]; - } - } - } else { - if (startColumn === endColumn) { - if (startColumn) { - markerLines[startLine] = [startColumn, 0]; - } else { - markerLines[startLine] = true; - } - } else { - markerLines[startLine] = [startColumn, endColumn - startColumn]; - } - } - return { - start, - end, - markerLines - }; - } - function codeFrameColumns2(rawLines, loc, opts = {}) { - const highlighted = (opts.highlightCode || opts.forceColor) && (0, _highlight.shouldHighlight)(opts); - const chalk3 = getChalk(opts.forceColor); - const defs = getDefs(chalk3); - const maybeHighlight = (chalkFn, string) => { - return highlighted ? chalkFn(string) : string; - }; - const lines = rawLines.split(NEWLINE); - const { - start, - end, - markerLines - } = getMarkerLines(loc, lines, opts); - const hasColumns = loc.start && typeof loc.start.column === "number"; - const numberMaxWidth = String(end).length; - const highlightedLines = highlighted ? (0, _highlight.default)(rawLines, opts) : rawLines; - let frame = highlightedLines.split(NEWLINE, end).slice(start, end).map((line2, index) => { - const number = start + 1 + index; - const paddedNumber = ` ${number}`.slice(-numberMaxWidth); - const gutter = ` ${paddedNumber} |`; - const hasMarker = markerLines[number]; - const lastMarkerLine = !markerLines[number + 1]; - if (hasMarker) { - let markerLine = ""; - if (Array.isArray(hasMarker)) { - const markerSpacing = line2.slice(0, Math.max(hasMarker[0] - 1, 0)).replace(/[^\t]/g, " "); - const numberOfMarkers = hasMarker[1] || 1; - markerLine = ["\n ", maybeHighlight(defs.gutter, gutter.replace(/\d/g, " ")), " ", markerSpacing, maybeHighlight(defs.marker, "^").repeat(numberOfMarkers)].join(""); - if (lastMarkerLine && opts.message) { - markerLine += " " + maybeHighlight(defs.message, opts.message); - } - } - return [maybeHighlight(defs.marker, ">"), maybeHighlight(defs.gutter, gutter), line2.length > 0 ? ` ${line2}` : "", markerLine].join(""); - } else { - return ` ${maybeHighlight(defs.gutter, gutter)}${line2.length > 0 ? ` ${line2}` : ""}`; - } - }).join("\n"); - if (opts.message && !hasColumns) { - frame = `${" ".repeat(numberMaxWidth + 1)}${opts.message} -${frame}`; - } - if (highlighted) { - return chalk3.reset(frame); - } else { - return frame; - } - } - function _default(rawLines, lineNumber, colNumber, opts = {}) { - if (!deprecationWarningShown) { - deprecationWarningShown = true; - const message = "Passing lineNumber and colNumber is deprecated to @babel/code-frame. Please use `codeFrameColumns`."; - if (process.emitWarning) { - process.emitWarning(message, "DeprecationWarning"); - } else { - const deprecationError = new Error(message); - deprecationError.name = "DeprecationWarning"; - console.warn(new Error(message)); - } - } - colNumber = Math.max(colNumber, 0); - const location = { - start: { - column: colNumber, - line: lineNumber - } - }; - return codeFrameColumns2(rawLines, location, opts); - } - } -}); - -// node_modules/p-defer/index.js -var require_p_defer = __commonJS({ - "node_modules/p-defer/index.js"(exports, module) { - "use strict"; - module.exports = () => { - const ret = {}; - ret.promise = new Promise((resolve2, reject) => { - ret.resolve = resolve2; - ret.reject = reject; - }); - return ret; - }; - } -}); - -// node_modules/map-age-cleaner/dist/index.js -var require_dist = __commonJS({ - "node_modules/map-age-cleaner/dist/index.js"(exports, module) { - "use strict"; - var __awaiter = exports && exports.__awaiter || function(thisArg, _arguments, P, generator) { - return new (P || (P = Promise))(function(resolve2, reject) { - function fulfilled(value) { - try { - step(generator.next(value)); - } catch (e) { - reject(e); - } - } - function rejected(value) { - try { - step(generator["throw"](value)); - } catch (e) { - reject(e); - } - } - function step(result) { - result.done ? resolve2(result.value) : new P(function(resolve3) { - resolve3(result.value); - }).then(fulfilled, rejected); - } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); - }; - var __importDefault = exports && exports.__importDefault || function(mod) { - return mod && mod.__esModule ? mod : { "default": mod }; - }; - Object.defineProperty(exports, "__esModule", { value: true }); - var p_defer_1 = __importDefault(require_p_defer()); - function mapAgeCleaner2(map, property = "maxAge") { - let processingKey; - let processingTimer; - let processingDeferred; - const cleanup = () => __awaiter(this, void 0, void 0, function* () { - if (processingKey !== void 0) { - return; - } - const setupTimer = (item) => __awaiter(this, void 0, void 0, function* () { - processingDeferred = p_defer_1.default(); - const delay = item[1][property] - Date.now(); - if (delay <= 0) { - map.delete(item[0]); - processingDeferred.resolve(); - return; - } - processingKey = item[0]; - processingTimer = setTimeout(() => { - map.delete(item[0]); - if (processingDeferred) { - processingDeferred.resolve(); - } - }, delay); - if (typeof processingTimer.unref === "function") { - processingTimer.unref(); - } - return processingDeferred.promise; - }); - try { - for (const entry of map) { - yield setupTimer(entry); - } - } catch (_a) { - } - processingKey = void 0; - }); - const reset = () => { - processingKey = void 0; - if (processingTimer !== void 0) { - clearTimeout(processingTimer); - processingTimer = void 0; - } - if (processingDeferred !== void 0) { - processingDeferred.reject(void 0); - processingDeferred = void 0; - } - }; - const originalSet = map.set.bind(map); - map.set = (key, value) => { - if (map.has(key)) { - map.delete(key); - } - const result = originalSet(key, value); - if (processingKey && processingKey === key) { - reset(); - } - cleanup(); - return result; - }; - cleanup(); - return map; - } - exports.default = mapAgeCleaner2; - module.exports = mapAgeCleaner2; - module.exports.default = mapAgeCleaner2; - } -}); - // node_modules/semver/internal/debug.js var require_debug = __commonJS({ "node_modules/semver/internal/debug.js"(exports, module) { var debug = typeof process === "object" && process.env && process.env.NODE_DEBUG && /\bsemver\b/i.test(process.env.NODE_DEBUG) ? (...args) => console.error("SEMVER", ...args) : () => { }; @@ -8106,12 +5603,12 @@ ["\\s", 1], ["\\d", MAX_LENGTH], [LETTERDASHNUMBER, MAX_SAFE_BUILD_LENGTH] ]; var makeSafeRegex = (value) => { - for (const [token, max] of safeRegexReplacements) { - value = value.split(`${token}*`).join(`${token}{0,${max}}`).split(`${token}+`).join(`${token}{1,${max}}`); + for (const [token2, max] of safeRegexReplacements) { + value = value.split(`${token2}*`).join(`${token2}{0,${max}}`).split(`${token2}+`).join(`${token2}{1,${max}}`); } return value; }; var createToken = (name, value, isGlobal) => { const safe = makeSafeRegex(value); @@ -8468,23 +5965,23 @@ }); // node_modules/pseudomap/pseudomap.js var require_pseudomap = __commonJS({ "node_modules/pseudomap/pseudomap.js"(exports, module) { - var hasOwnProperty2 = Object.prototype.hasOwnProperty; + var hasOwnProperty3 = Object.prototype.hasOwnProperty; module.exports = PseudoMap; - function PseudoMap(set2) { + function PseudoMap(set3) { if (!(this instanceof PseudoMap)) throw new TypeError("Constructor PseudoMap requires 'new'"); this.clear(); - if (set2) { - if (set2 instanceof PseudoMap || typeof Map === "function" && set2 instanceof Map) - set2.forEach(function(value, key) { - this.set(key, value); + if (set3) { + if (set3 instanceof PseudoMap || typeof Map === "function" && set3 instanceof Map) + set3.forEach(function(value, key2) { + this.set(key2, value); }, this); - else if (Array.isArray(set2)) - set2.forEach(function(kv) { + else if (Array.isArray(set3)) + set3.forEach(function(kv) { this.set(kv[0], kv[1]); }, this); else throw new TypeError("invalid argument"); } @@ -8502,11 +5999,11 @@ PseudoMap.prototype.get = function(k) { var res = find(this._data, k); return res && res.value; }; PseudoMap.prototype.set = function(k, v) { - set(this._data, k, v); + set2(this._data, k, v); }; PseudoMap.prototype.delete = function(k) { var res = find(this._data, k); if (res) { delete this._data[res._index]; @@ -8542,24 +6039,24 @@ this.key = k; this.value = v; this._index = i; } function find(data, k) { - for (var i = 0, s = "_" + k, key = s; hasOwnProperty2.call(data, key); key = s + i++) { - if (same(data[key].key, k)) - return data[key]; + for (var i = 0, s = "_" + k, key2 = s; hasOwnProperty3.call(data, key2); key2 = s + i++) { + if (same(data[key2].key, k)) + return data[key2]; } } - function set(data, k, v) { - for (var i = 0, s = "_" + k, key = s; hasOwnProperty2.call(data, key); key = s + i++) { - if (same(data[key].key, k)) { - data[key].value = v; + function set2(data, k, v) { + for (var i = 0, s = "_" + k, key2 = s; hasOwnProperty3.call(data, key2); key2 = s + i++) { + if (same(data[key2].key, k)) { + data[key2].value = v; return; } } data.size++; - data[key] = new Entry(k, v, key); + data[key2] = new Entry(k, v, key2); } } }); // node_modules/pseudomap/map.js @@ -8661,11 +6158,11 @@ } this.length++; }; Yallist.prototype.push = function() { for (var i = 0, l = arguments.length; i < l; i++) { - push(this, arguments[i]); + push2(this, arguments[i]); } return this.length; }; Yallist.prototype.unshift = function() { for (var i = 0, l = arguments.length; i < l; i++) { @@ -8863,11 +6360,11 @@ } this.head = tail; this.tail = head; return this; }; - function push(self, item) { + function push2(self, item) { self.tail = new Node(item, self.tail, null, self); if (!self.head) { self.head = self.tail; } self.length++; @@ -8905,21 +6402,21 @@ var require_lru_cache = __commonJS({ "node_modules/editorconfig/node_modules/lru-cache/index.js"(exports, module) { "use strict"; module.exports = LRUCache; var Map2 = require_map(); - var util = __require("util"); + var util2 = __require("util"); var Yallist = require_yallist(); var hasSymbol = typeof Symbol === "function" && process.env._nodeLRUCacheForceNoSymbol !== "1"; var makeSymbol; if (hasSymbol) { - makeSymbol = function(key) { - return Symbol(key); + makeSymbol = function(key2) { + return Symbol(key2); }; } else { - makeSymbol = function(key) { - return "_" + key; + makeSymbol = function(key2) { + return "_" + key2; }; } var MAX = makeSymbol("max"); var LENGTH = makeSymbol("length"); var LENGTH_CALCULATOR = makeSymbol("lengthCalculator"); @@ -9087,134 +6584,134 @@ }; LRUCache.prototype.dumpLru = function() { return this[LRU_LIST]; }; LRUCache.prototype.inspect = function(n, opts) { - var str = "LRUCache {"; + var str2 = "LRUCache {"; var extras = false; var as = this[ALLOW_STALE]; if (as) { - str += "\n allowStale: true"; + str2 += "\n allowStale: true"; extras = true; } var max = this[MAX]; if (max && max !== Infinity) { if (extras) { - str += ","; + str2 += ","; } - str += "\n max: " + util.inspect(max, opts); + str2 += "\n max: " + util2.inspect(max, opts); extras = true; } var maxAge = this[MAX_AGE]; if (maxAge) { if (extras) { - str += ","; + str2 += ","; } - str += "\n maxAge: " + util.inspect(maxAge, opts); + str2 += "\n maxAge: " + util2.inspect(maxAge, opts); extras = true; } var lc = this[LENGTH_CALCULATOR]; if (lc && lc !== naiveLength) { if (extras) { - str += ","; + str2 += ","; } - str += "\n length: " + util.inspect(this[LENGTH], opts); + str2 += "\n length: " + util2.inspect(this[LENGTH], opts); extras = true; } var didFirst = false; this[LRU_LIST].forEach(function(item) { if (didFirst) { - str += ",\n "; + str2 += ",\n "; } else { if (extras) { - str += ",\n"; + str2 += ",\n"; } didFirst = true; - str += "\n "; + str2 += "\n "; } - var key = util.inspect(item.key).split("\n").join("\n "); + var key2 = util2.inspect(item.key).split("\n").join("\n "); var val = { value: item.value }; if (item.maxAge !== maxAge) { val.maxAge = item.maxAge; } if (lc !== naiveLength) { val.length = item.length; } if (isStale(this, item)) { val.stale = true; } - val = util.inspect(val, opts).split("\n").join("\n "); - str += key + " => " + val; + val = util2.inspect(val, opts).split("\n").join("\n "); + str2 += key2 + " => " + val; }); if (didFirst || extras) { - str += "\n"; + str2 += "\n"; } - str += "}"; - return str; + str2 += "}"; + return str2; }; - LRUCache.prototype.set = function(key, value, maxAge) { + LRUCache.prototype.set = function(key2, value, maxAge) { maxAge = maxAge || this[MAX_AGE]; var now = maxAge ? Date.now() : 0; - var len = this[LENGTH_CALCULATOR](value, key); - if (this[CACHE].has(key)) { + var len = this[LENGTH_CALCULATOR](value, key2); + if (this[CACHE].has(key2)) { if (len > this[MAX]) { - del(this, this[CACHE].get(key)); + del(this, this[CACHE].get(key2)); return false; } - var node = this[CACHE].get(key); + var node = this[CACHE].get(key2); var item = node.value; if (this[DISPOSE]) { if (!this[NO_DISPOSE_ON_SET]) { - this[DISPOSE](key, item.value); + this[DISPOSE](key2, item.value); } } item.now = now; item.maxAge = maxAge; item.value = value; this[LENGTH] += len - item.length; item.length = len; - this.get(key); + this.get(key2); trim2(this); return true; } - var hit = new Entry(key, value, len, now, maxAge); + var hit = new Entry(key2, value, len, now, maxAge); if (hit.length > this[MAX]) { if (this[DISPOSE]) { - this[DISPOSE](key, value); + this[DISPOSE](key2, value); } return false; } this[LENGTH] += hit.length; this[LRU_LIST].unshift(hit); - this[CACHE].set(key, this[LRU_LIST].head); + this[CACHE].set(key2, this[LRU_LIST].head); trim2(this); return true; }; - LRUCache.prototype.has = function(key) { - if (!this[CACHE].has(key)) + LRUCache.prototype.has = function(key2) { + if (!this[CACHE].has(key2)) return false; - var hit = this[CACHE].get(key).value; + var hit = this[CACHE].get(key2).value; if (isStale(this, hit)) { return false; } return true; }; - LRUCache.prototype.get = function(key) { - return get(this, key, true); + LRUCache.prototype.get = function(key2) { + return get(this, key2, true); }; - LRUCache.prototype.peek = function(key) { - return get(this, key, false); + LRUCache.prototype.peek = function(key2) { + return get(this, key2, false); }; LRUCache.prototype.pop = function() { var node = this[LRU_LIST].tail; if (!node) return null; del(this, node); return node.value; }; - LRUCache.prototype.del = function(key) { - del(this, this[CACHE].get(key)); + LRUCache.prototype.del = function(key2) { + del(this, this[CACHE].get(key2)); }; LRUCache.prototype.load = function(arr) { this.reset(); var now = Date.now(); for (var l = arr.length - 1; l >= 0; l--) { @@ -9230,16 +6727,16 @@ } } }; LRUCache.prototype.prune = function() { var self = this; - this[CACHE].forEach(function(value, key) { - get(self, key, false); + this[CACHE].forEach(function(value, key2) { + get(self, key2, false); }); }; - function get(self, key, doUse) { - var node = self[CACHE].get(key); + function get(self, key2, doUse) { + var node = self[CACHE].get(key2); if (node) { var hit = node.value; if (isStale(self, hit)) { del(self, node); if (!self[ALLOW_STALE]) @@ -9285,12 +6782,12 @@ self[LENGTH] -= hit.length; self[CACHE].delete(hit.key); self[LRU_LIST].removeNode(node); } } - function Entry(key, value, length, now, maxAge) { - this.key = key; + function Entry(key2, value, length, now, maxAge) { + this.key = key2; this.value = value; this.length = length; this.now = now; this.maxAge = maxAge || 0; } @@ -9344,23 +6841,23 @@ module.exports = minimatch; else exports.minimatch = minimatch; minimatch.Minimatch = Minimatch; var LRU = require_lru_cache(); - var cache = minimatch.cache = new LRU({ max: 100 }); + var cache3 = minimatch.cache = new LRU({ max: 100 }); var GLOBSTAR = minimatch.GLOBSTAR = Minimatch.GLOBSTAR = {}; var sigmund = require_sigmund(); - var path9 = __require("path"); + var path13 = __require("path"); var qmark = "[^/]"; var star = qmark + "*?"; var twoStarDot = "(?:(?!(?:\\/|^)(?:\\.{1,2})($|\\/)).)*?"; var twoStarNoDot = "(?:(?!(?:\\/|^)\\.).)*?"; var reSpecials = charSet("().*{}+?[]^$\\!"); function charSet(s) { - return s.split("").reduce(function(set, c) { - set[c] = true; - return set; + return s.split("").reduce(function(set2, c2) { + set2[c2] = true; + return set2; }, {}); } var slashSplit = /\/+/; minimatch.monkeyPatch = monkeyPatch; function monkeyPatch() { @@ -9371,12 +6868,12 @@ return p.match(this); return orig.call(this, p); }; Object.defineProperty(String.prototype, desc); } - minimatch.filter = filter; - function filter(pattern, options8) { + minimatch.filter = filter2; + function filter2(pattern, options8) { options8 = options8 || {}; return function(p, i, list) { return minimatch(p, pattern, options8); }; } @@ -9422,11 +6919,11 @@ return p === ""; return new Minimatch(pattern, options8).match(p); } function Minimatch(pattern, options8) { if (!(this instanceof Minimatch)) { - return new Minimatch(pattern, options8, cache); + return new Minimatch(pattern, options8, cache3); } if (typeof pattern !== "string") { throw new TypeError("glob pattern string required"); } if (!options8) @@ -9461,29 +6958,29 @@ if (!pattern) { this.empty = true; return; } this.parseNegate(); - var set = this.globSet = this.braceExpand(); + var set2 = this.globSet = this.braceExpand(); if (options8.debug) - console.error(this.pattern, set); - set = this.globParts = set.map(function(s) { + console.error(this.pattern, set2); + set2 = this.globParts = set2.map(function(s) { return s.split(slashSplit); }); if (options8.debug) - console.error(this.pattern, set); - set = set.map(function(s, si, set2) { + console.error(this.pattern, set2); + set2 = set2.map(function(s, si, set3) { return s.map(this.parse, this); }, this); if (options8.debug) - console.error(this.pattern, set); - set = set.filter(function(s) { + console.error(this.pattern, set2); + set2 = set2.filter(function(s) { return -1 === s.indexOf(false); }); if (options8.debug) - console.error(this.pattern, set); - this.set = set; + console.error(this.pattern, set2); + this.set = set2; } Minimatch.prototype.parseNegate = parseNegate; function parseNegate() { var pattern = this.pattern, negate = false, options8 = this.options, negateOffset = 0; if (options8.nonegate) @@ -9511,14 +7008,14 @@ } var escaping = false; if (pattern.charAt(0) !== "{") { var prefix = null; for (var i = 0, l = pattern.length; i < l; i++) { - var c = pattern.charAt(i); - if (c === "\\") { + var c2 = pattern.charAt(i); + if (c2 === "\\") { escaping = !escaping; - } else if (c === "{" && !escaping) { + } else if (c2 === "{" && !escaping) { prefix = pattern.substr(0, i); break; } } if (prefix === null) { @@ -9529,31 +7026,31 @@ return prefix + t; }); } var numset = pattern.match(/^\{(-?[0-9]+)\.\.(-?[0-9]+)\}/); if (numset) { - var suf = braceExpand(pattern.substr(numset[0].length), options8), start = +numset[1], end = +numset[2], inc = start > end ? -1 : 1, set = []; + var suf = braceExpand(pattern.substr(numset[0].length), options8), start = +numset[1], end = +numset[2], inc = start > end ? -1 : 1, set2 = []; for (var i = start; i != end + inc; i += inc) { for (var ii = 0, ll = suf.length; ii < ll; ii++) { - set.push(i + suf[ii]); + set2.push(i + suf[ii]); } } - return set; + return set2; } - var i = 1, depth = 1, set = [], member = "", sawEnd = false, escaping = false; + var i = 1, depth = 1, set2 = [], member = "", sawEnd = false, escaping = false; function addMember() { - set.push(member); + set2.push(member); member = ""; } FOR: for (i = 1, l = pattern.length; i < l; i++) { - var c = pattern.charAt(i); + var c2 = pattern.charAt(i); if (escaping) { escaping = false; - member += "\\" + c; + member += "\\" + c2; } else { - switch (c) { + switch (c2) { case "\\": escaping = true; continue; case "{": depth++; @@ -9564,53 +7061,53 @@ if (depth === 0) { addMember(); i++; break FOR; } else { - member += c; + member += c2; continue; } case ",": if (depth === 1) { addMember(); } else { - member += c; + member += c2; } continue; default: - member += c; + member += c2; continue; } } } if (depth !== 0) { return braceExpand("\\" + pattern, options8); } var suf = braceExpand(pattern.substr(i), options8); - var addBraces = set.length === 1; - set = set.map(function(p) { + var addBraces = set2.length === 1; + set2 = set2.map(function(p) { return braceExpand(p, options8); }); - set = set.reduce(function(l2, r) { + set2 = set2.reduce(function(l2, r) { return l2.concat(r); }); if (addBraces) { - set = set.map(function(s) { + set2 = set2.map(function(s) { return "{" + s + "}"; }); } var ret = []; - for (var i = 0, l = set.length; i < l; i++) { + for (var i = 0, l = set2.length; i < l; i++) { for (var ii = 0, ll = suf.length; ii < ll; ii++) { - ret.push(set[i] + suf[ii]); + ret.push(set2[i] + suf[ii]); } } return ret; } - Minimatch.prototype.parse = parse3; + Minimatch.prototype.parse = parse6; var SUBPARSE = {}; - function parse3(pattern, isSub) { + function parse6(pattern, isSub) { var options8 = this.options; if (!options8.noglobstar && pattern === "**") return GLOBSTAR; if (pattern === "") return ""; @@ -9631,21 +7128,21 @@ break; } stateChar = false; } } - for (var i = 0, len = pattern.length, c; i < len && (c = pattern.charAt(i)); i++) { + for (var i = 0, len = pattern.length, c2; i < len && (c2 = pattern.charAt(i)); i++) { if (options8.debug) { - console.error("%s %s %s %j", pattern, i, re, c); + console.error("%s %s %s %j", pattern, i, re, c2); } - if (escaping && reSpecials[c]) { - re += "\\" + c; + if (escaping && reSpecials[c2]) { + re += "\\" + c2; escaping = false; continue; } SWITCH: - switch (c) { + switch (c2) { case "/": return false; case "\\": clearStateChar(); escaping = true; @@ -9654,20 +7151,20 @@ case "*": case "+": case "@": case "!": if (options8.debug) { - console.error("%s %s %s %j <-- stateChar", pattern, i, re, c); + console.error("%s %s %s %j <-- stateChar", pattern, i, re, c2); } if (inClass) { - if (c === "!" && i === classStart + 1) - c = "^"; - re += c; + if (c2 === "!" && i === classStart + 1) + c2 = "^"; + re += c2; continue; } clearStateChar(); - stateChar = c; + stateChar = c2; if (options8.noext) clearStateChar(); continue; case "(": if (inClass) { @@ -9716,36 +7213,36 @@ re += "|"; continue; case "[": clearStateChar(); if (inClass) { - re += "\\" + c; + re += "\\" + c2; continue; } inClass = true; classStart = i; reClassStart = re.length; - re += c; + re += c2; continue; case "]": if (i === classStart + 1 || !inClass) { - re += "\\" + c; + re += "\\" + c2; escaping = false; continue; } hasMagic = true; inClass = false; - re += c; + re += c2; continue; default: clearStateChar(); if (escaping) { escaping = false; - } else if (reSpecials[c] && !(c === "^" && inClass)) { + } else if (reSpecials[c2] && !(c2 === "^" && inClass)) { re += "\\"; } - re += c; + re += c2; } } if (inClass) { var cs = pattern.substr(classStart + 1), sp = this.parse(cs, SUBPARSE); re = re.substr(0, reClassStart) + "\\[" + sp[0]; @@ -9795,16 +7292,16 @@ }; Minimatch.prototype.makeRe = makeRe; function makeRe() { if (this.regexp || this.regexp === false) return this.regexp; - var set = this.set; - if (!set.length) + var set2 = this.set; + if (!set2.length) return this.regexp = false; var options8 = this.options; var twoStar = options8.noglobstar ? star : options8.dot ? twoStarDot : twoStarNoDot, flags = options8.nocase ? "i" : ""; - var re = set.map(function(pattern) { + var re = set2.map(function(pattern) { return pattern.map(function(p) { return p === GLOBSTAR ? twoStar : typeof p === "string" ? regExpEscape(p) : p._src; }).join("\\/"); }).join("|"); re = "^(?:" + re + ")$"; @@ -9840,13 +7337,13 @@ } f = f.split(slashSplit); if (options8.debug) { console.error(this.pattern, "split", f); } - var set = this.set; - for (var i = 0, l = set.length; i < l; i++) { - var pattern = set[i]; + var set2 = this.set; + for (var i = 0, l = set2.length; i < l; i++) { + var pattern = set2[i]; var hit = this.matchOne(f, pattern, partial); if (hit) { if (options8.flipNegate) return true; return !this.negate; @@ -9867,11 +7364,11 @@ pattern } ); } if (options8.matchBase && pattern.length === 1) { - file = path9.basename(file.join("/")).split("/"); + file = path13.basename(file.join("/")).split("/"); } if (options8.debug) { console.error("matchOne", file.length, pattern.length); } for (var fi = 0, pi = 0, fl = file.length, pl = pattern.length; fi < fl && pi < pl; fi++, pi++) { @@ -9972,11 +7469,11 @@ // node_modules/editorconfig/src/lib/ini.js var require_ini = __commonJS({ "node_modules/editorconfig/src/lib/ini.js"(exports) { "use strict"; var __awaiter = exports && exports.__awaiter || function(thisArg, _arguments, P, generator) { - return new (P || (P = Promise))(function(resolve2, reject) { + return new (P || (P = Promise))(function(resolve3, reject) { function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); @@ -9988,12 +7485,12 @@ } catch (e) { reject(e); } } function step(result) { - result.done ? resolve2(result.value) : new P(function(resolve3) { - resolve3(result.value); + result.done ? resolve3(result.value) : new P(function(resolve4) { + resolve4(result.value); }).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; @@ -10084,51 +7581,51 @@ } result["default"] = mod; return result; }; Object.defineProperty(exports, "__esModule", { value: true }); - var fs5 = __importStar(__require("fs")); + var fs7 = __importStar(__require("fs")); var regex = { section: /^\s*\[(([^#;]|\\#|\\;)+)\]\s*([#;].*)?$/, param: /^\s*([\w\.\-\_]+)\s*[=:]\s*(.*?)\s*([#;].*)?$/, comment: /^\s*[#;].*$/ }; - function parse3(file) { + function parse6(file) { return __awaiter(this, void 0, void 0, function() { return __generator(this, function(_a) { - return [2, new Promise(function(resolve2, reject) { - fs5.readFile(file, "utf8", function(err, data) { + return [2, new Promise(function(resolve3, reject) { + fs7.readFile(file, "utf8", function(err, data) { if (err) { reject(err); return; } - resolve2(parseString(data)); + resolve3(parseString(data)); }); })]; }); }); } - exports.parse = parse3; + exports.parse = parse6; function parseSync(file) { - return parseString(fs5.readFileSync(file, "utf8")); + return parseString(fs7.readFileSync(file, "utf8")); } exports.parseSync = parseSync; function parseString(data) { var sectionBody = {}; var sectionName = null; var value = [[sectionName, sectionBody]]; var lines = data.split(/\r\n|\r|\n/); - lines.forEach(function(line2) { + lines.forEach(function(line3) { var match; - if (regex.comment.test(line2)) { + if (regex.comment.test(line3)) { return; } - if (regex.param.test(line2)) { - match = line2.match(regex.param); + if (regex.param.test(line3)) { + match = line3.match(regex.param); sectionBody[match[1]] = match[2]; - } else if (regex.section.test(line2)) { - match = line2.match(regex.section); + } else if (regex.section.test(line3)) { + match = line3.match(regex.section); sectionName = match[1]; sectionBody = {}; value.push([sectionName, sectionBody]); } }); @@ -10206,11 +7703,11 @@ // node_modules/editorconfig/src/index.js var require_src = __commonJS({ "node_modules/editorconfig/src/index.js"(exports) { "use strict"; var __awaiter = exports && exports.__awaiter || function(thisArg, _arguments, P, generator) { - return new (P || (P = Promise))(function(resolve2, reject) { + return new (P || (P = Promise))(function(resolve3, reject) { function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); @@ -10222,12 +7719,12 @@ } catch (e) { reject(e); } } function step(result) { - result.done ? resolve2(result.value) : new P(function(resolve3) { - resolve3(result.value); + result.done ? resolve3(result.value) : new P(function(resolve4) { + resolve4(result.value); }).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; @@ -10321,12 +7818,12 @@ }; var __importDefault = exports && exports.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); - var fs5 = __importStar(__require("fs")); - var path9 = __importStar(__require("path")); + var fs7 = __importStar(__require("fs")); + var path13 = __importStar(__require("path")); var semver = { gte: require_gte() }; var fnmatch_1 = __importDefault(require_fnmatch()); var ini_1 = require_ini(); @@ -10346,12 +7843,12 @@ return fnmatch_1.default(filepath, glob, matchOptions); } function getConfigFileNames(filepath, options8) { var paths = []; do { - filepath = path9.dirname(filepath); - paths.push(path9.join(filepath, options8.config)); + filepath = path13.dirname(filepath); + paths.push(path13.join(filepath, options8.config)); } while (filepath !== options8.root); return paths; } function processMatches(matches, version) { if ("indent_style" in matches && matches.indent_style === "tab" && !("indent_size" in matches) && semver.gte(version, "0.10.0")) { @@ -10370,11 +7867,11 @@ options8 = {}; } return { config: options8.config || ".editorconfig", version: options8.version || package_json_1.default.version, - root: path9.resolve(options8.root || path9.parse(filepath).root) + root: path13.resolve(options8.root || path13.parse(filepath).root) }; } function buildFullGlob(pathPrefix, glob) { switch (glob.indexOf("/")) { case -1: @@ -10384,42 +7881,42 @@ glob = glob.substring(1); break; default: break; } - return path9.join(pathPrefix, glob); + return path13.join(pathPrefix, glob); } function extendProps(props, options8) { if (props === void 0) { props = {}; } if (options8 === void 0) { options8 = {}; } - for (var key in options8) { - if (options8.hasOwnProperty(key)) { - var value = options8[key]; - var key2 = key.toLowerCase(); + for (var key2 in options8) { + if (options8.hasOwnProperty(key2)) { + var value = options8[key2]; + var key22 = key2.toLowerCase(); var value2 = value; - if (knownProps[key2]) { + if (knownProps[key22]) { value2 = value.toLowerCase(); } try { value2 = JSON.parse(value); } catch (e) { } if (typeof value === "undefined" || value === null) { value2 = String(value); } - props[key2] = value2; + props[key22] = value2; } } return props; } function parseFromConfigs(configs, filepath, options8) { return processMatches(configs.reverse().reduce(function(matches, file) { - var pathPrefix = path9.dirname(file.name); + var pathPrefix = path13.dirname(file.name); file.contents.forEach(function(section) { var glob = section[0]; var options22 = section[1]; if (!glob) { return; @@ -10452,13 +7949,13 @@ } function readConfigFiles(filepaths) { return __awaiter(this, void 0, void 0, function() { return __generator(this, function(_a) { return [2, Promise.all(filepaths.map(function(name) { - return new Promise(function(resolve2) { - fs5.readFile(name, "utf8", function(err, data) { - resolve2({ + return new Promise(function(resolve3) { + fs7.readFile(name, "utf8", function(err, data) { + resolve3({ name, contents: err ? "" : data }); }); }); @@ -10469,11 +7966,11 @@ function readConfigFilesSync(filepaths) { var files = []; var file; filepaths.forEach(function(filepath) { try { - file = fs5.readFileSync(filepath, "utf8"); + file = fs7.readFileSync(filepath, "utf8"); } catch (e) { file = ""; } files.push({ name: filepath, @@ -10484,11 +7981,11 @@ } function opts(filepath, options8) { if (options8 === void 0) { options8 = {}; } - var resolvedFilePath = path9.resolve(filepath); + var resolvedFilePath = path13.resolve(filepath); return [ resolvedFilePath, processOptions(options8, resolvedFilePath) ]; } @@ -10513,11 +8010,11 @@ } var _a = opts(filepath, options8), resolvedFilePath = _a[0], processedOptions = _a[1]; return parseFromConfigs(getConfigsForFiles(files), resolvedFilePath, processedOptions); } exports.parseFromFilesSync = parseFromFilesSync; - function parse3(_filepath, _options) { + function parse6(_filepath, _options) { if (_options === void 0) { _options = {}; } return __awaiter(this, void 0, void 0, function() { var _a, resolvedFilePath, processedOptions, filepaths; @@ -10528,11 +8025,11 @@ return parseFromConfigs(configs, resolvedFilePath, processedOptions); })]; }); }); } - exports.parse = parse3; + exports.parse = parse6; function parseSync(_filepath, _options) { if (_options === void 0) { _options = {}; } var _a = opts(_filepath, _options), resolvedFilePath = _a[0], processedOptions = _a[1]; @@ -10542,67 +8039,419 @@ } exports.parseSync = parseSync; } }); -// node_modules/editorconfig-to-prettier/index.js -var require_editorconfig_to_prettier = __commonJS({ - "node_modules/editorconfig-to-prettier/index.js"(exports, module) { - module.exports = editorConfigToPrettier2; - function removeUnset(editorConfig) { - const result = {}; - const keys = Object.keys(editorConfig); - for (let i = 0; i < keys.length; i++) { - const key = keys[i]; - if (editorConfig[key] === "unset") { - continue; +// node_modules/ci-info/vendors.json +var require_vendors = __commonJS({ + "node_modules/ci-info/vendors.json"(exports, module) { + module.exports = [ + { + name: "Agola CI", + constant: "AGOLA", + env: "AGOLA_GIT_REF", + pr: "AGOLA_PULL_REQUEST_ID" + }, + { + name: "Appcircle", + constant: "APPCIRCLE", + env: "AC_APPCIRCLE" + }, + { + name: "AppVeyor", + constant: "APPVEYOR", + env: "APPVEYOR", + pr: "APPVEYOR_PULL_REQUEST_NUMBER" + }, + { + name: "AWS CodeBuild", + constant: "CODEBUILD", + env: "CODEBUILD_BUILD_ARN" + }, + { + name: "Azure Pipelines", + constant: "AZURE_PIPELINES", + env: "TF_BUILD", + pr: { + BUILD_REASON: "PullRequest" } - result[key] = editorConfig[key]; - } - return result; - } - function editorConfigToPrettier2(editorConfig) { - if (!editorConfig) { - return null; - } - editorConfig = removeUnset(editorConfig); - if (Object.keys(editorConfig).length === 0) { - return null; - } - const result = {}; - if (editorConfig.indent_style) { - result.useTabs = editorConfig.indent_style === "tab"; - } - if (editorConfig.indent_size === "tab") { - result.useTabs = true; - } - if (result.useTabs && editorConfig.tab_width) { - result.tabWidth = editorConfig.tab_width; - } else if (editorConfig.indent_style === "space" && editorConfig.indent_size && editorConfig.indent_size !== "tab") { - result.tabWidth = editorConfig.indent_size; - } else if (editorConfig.tab_width !== void 0) { - result.tabWidth = editorConfig.tab_width; - } - if (editorConfig.max_line_length) { - if (editorConfig.max_line_length === "off") { - result.printWidth = Number.POSITIVE_INFINITY; - } else { - result.printWidth = editorConfig.max_line_length; + }, + { + name: "Bamboo", + constant: "BAMBOO", + env: "bamboo_planKey" + }, + { + name: "Bitbucket Pipelines", + constant: "BITBUCKET", + env: "BITBUCKET_COMMIT", + pr: "BITBUCKET_PR_ID" + }, + { + name: "Bitrise", + constant: "BITRISE", + env: "BITRISE_IO", + pr: "BITRISE_PULL_REQUEST" + }, + { + name: "Buddy", + constant: "BUDDY", + env: "BUDDY_WORKSPACE_ID", + pr: "BUDDY_EXECUTION_PULL_REQUEST_ID" + }, + { + name: "Buildkite", + constant: "BUILDKITE", + env: "BUILDKITE", + pr: { + env: "BUILDKITE_PULL_REQUEST", + ne: "false" } + }, + { + name: "CircleCI", + constant: "CIRCLE", + env: "CIRCLECI", + pr: "CIRCLE_PULL_REQUEST" + }, + { + name: "Cirrus CI", + constant: "CIRRUS", + env: "CIRRUS_CI", + pr: "CIRRUS_PR" + }, + { + name: "Codefresh", + constant: "CODEFRESH", + env: "CF_BUILD_ID", + pr: { + any: [ + "CF_PULL_REQUEST_NUMBER", + "CF_PULL_REQUEST_ID" + ] + } + }, + { + name: "Codemagic", + constant: "CODEMAGIC", + env: "CM_BUILD_ID", + pr: "CM_PULL_REQUEST" + }, + { + name: "Codeship", + constant: "CODESHIP", + env: { + CI_NAME: "codeship" + } + }, + { + name: "Drone", + constant: "DRONE", + env: "DRONE", + pr: { + DRONE_BUILD_EVENT: "pull_request" + } + }, + { + name: "dsari", + constant: "DSARI", + env: "DSARI" + }, + { + name: "Earthly", + constant: "EARTHLY", + env: "EARTHLY_CI" + }, + { + name: "Expo Application Services", + constant: "EAS", + env: "EAS_BUILD" + }, + { + name: "Gerrit", + constant: "GERRIT", + env: "GERRIT_PROJECT" + }, + { + name: "Gitea Actions", + constant: "GITEA_ACTIONS", + env: "GITEA_ACTIONS" + }, + { + name: "GitHub Actions", + constant: "GITHUB_ACTIONS", + env: "GITHUB_ACTIONS", + pr: { + GITHUB_EVENT_NAME: "pull_request" + } + }, + { + name: "GitLab CI", + constant: "GITLAB", + env: "GITLAB_CI", + pr: "CI_MERGE_REQUEST_ID" + }, + { + name: "GoCD", + constant: "GOCD", + env: "GO_PIPELINE_LABEL" + }, + { + name: "Google Cloud Build", + constant: "GOOGLE_CLOUD_BUILD", + env: "BUILDER_OUTPUT" + }, + { + name: "Harness CI", + constant: "HARNESS", + env: "HARNESS_BUILD_ID" + }, + { + name: "Heroku", + constant: "HEROKU", + env: { + env: "NODE", + includes: "/app/.heroku/node/bin/node" + } + }, + { + name: "Hudson", + constant: "HUDSON", + env: "HUDSON_URL" + }, + { + name: "Jenkins", + constant: "JENKINS", + env: [ + "JENKINS_URL", + "BUILD_ID" + ], + pr: { + any: [ + "ghprbPullId", + "CHANGE_ID" + ] + } + }, + { + name: "LayerCI", + constant: "LAYERCI", + env: "LAYERCI", + pr: "LAYERCI_PULL_REQUEST" + }, + { + name: "Magnum CI", + constant: "MAGNUM", + env: "MAGNUM" + }, + { + name: "Netlify CI", + constant: "NETLIFY", + env: "NETLIFY", + pr: { + env: "PULL_REQUEST", + ne: "false" + } + }, + { + name: "Nevercode", + constant: "NEVERCODE", + env: "NEVERCODE", + pr: { + env: "NEVERCODE_PULL_REQUEST", + ne: "false" + } + }, + { + name: "Prow", + constant: "PROW", + env: "PROW_JOB_ID" + }, + { + name: "ReleaseHub", + constant: "RELEASEHUB", + env: "RELEASE_BUILD_ID" + }, + { + name: "Render", + constant: "RENDER", + env: "RENDER", + pr: { + IS_PULL_REQUEST: "true" + } + }, + { + name: "Sail CI", + constant: "SAIL", + env: "SAILCI", + pr: "SAIL_PULL_REQUEST_NUMBER" + }, + { + name: "Screwdriver", + constant: "SCREWDRIVER", + env: "SCREWDRIVER", + pr: { + env: "SD_PULL_REQUEST", + ne: "false" + } + }, + { + name: "Semaphore", + constant: "SEMAPHORE", + env: "SEMAPHORE", + pr: "PULL_REQUEST_NUMBER" + }, + { + name: "Sourcehut", + constant: "SOURCEHUT", + env: { + CI_NAME: "sourcehut" + } + }, + { + name: "Strider CD", + constant: "STRIDER", + env: "STRIDER" + }, + { + name: "TaskCluster", + constant: "TASKCLUSTER", + env: [ + "TASK_ID", + "RUN_ID" + ] + }, + { + name: "TeamCity", + constant: "TEAMCITY", + env: "TEAMCITY_VERSION" + }, + { + name: "Travis CI", + constant: "TRAVIS", + env: "TRAVIS", + pr: { + env: "TRAVIS_PULL_REQUEST", + ne: "false" + } + }, + { + name: "Vela", + constant: "VELA", + env: "VELA", + pr: { + VELA_PULL_REQUEST: "1" + } + }, + { + name: "Vercel", + constant: "VERCEL", + env: { + any: [ + "NOW_BUILDER", + "VERCEL" + ] + }, + pr: "VERCEL_GIT_PULL_REQUEST_ID" + }, + { + name: "Visual Studio App Center", + constant: "APPCENTER", + env: "APPCENTER_BUILD_ID" + }, + { + name: "Woodpecker", + constant: "WOODPECKER", + env: { + CI: "woodpecker" + }, + pr: { + CI_BUILD_EVENT: "pull_request" + } + }, + { + name: "Xcode Cloud", + constant: "XCODE_CLOUD", + env: "CI_XCODE_PROJECT", + pr: "CI_PULL_REQUEST_NUMBER" + }, + { + name: "Xcode Server", + constant: "XCODE_SERVER", + env: "XCS" } - if (editorConfig.quote_type === "single") { - result.singleQuote = true; - } else if (editorConfig.quote_type === "double") { - result.singleQuote = false; + ]; + } +}); + +// node_modules/ci-info/index.js +var require_ci_info = __commonJS({ + "node_modules/ci-info/index.js"(exports) { + "use strict"; + var vendors = require_vendors(); + var env2 = process.env; + Object.defineProperty(exports, "_vendors", { + value: vendors.map(function(v) { + return v.constant; + }) + }); + exports.name = null; + exports.isPR = null; + vendors.forEach(function(vendor) { + const envs = Array.isArray(vendor.env) ? vendor.env : [vendor.env]; + const isCI2 = envs.every(function(obj) { + return checkEnv(obj); + }); + exports[vendor.constant] = isCI2; + if (!isCI2) { + return; } - if (["cr", "crlf", "lf"].indexOf(editorConfig.end_of_line) !== -1) { - result.endOfLine = editorConfig.end_of_line; + exports.name = vendor.name; + switch (typeof vendor.pr) { + case "string": + exports.isPR = !!env2[vendor.pr]; + break; + case "object": + if ("env" in vendor.pr) { + exports.isPR = vendor.pr.env in env2 && env2[vendor.pr.env] !== vendor.pr.ne; + } else if ("any" in vendor.pr) { + exports.isPR = vendor.pr.any.some(function(key2) { + return !!env2[key2]; + }); + } else { + exports.isPR = checkEnv(vendor.pr); + } + break; + default: + exports.isPR = null; } - if (editorConfig.insert_final_newline === false || editorConfig.insert_final_newline === true) { - result.insertFinalNewline = editorConfig.insert_final_newline; + }); + exports.isCI = !!(env2.CI !== "false" && // Bypass all checks if CI env is explicitly set to 'false' + (env2.BUILD_ID || // Jenkins, Cloudbees + env2.BUILD_NUMBER || // Jenkins, TeamCity + env2.CI || // Travis CI, CircleCI, Cirrus CI, Gitlab CI, Appveyor, CodeShip, dsari + env2.CI_APP_ID || // Appflow + env2.CI_BUILD_ID || // Appflow + env2.CI_BUILD_NUMBER || // Appflow + env2.CI_NAME || // Codeship and others + env2.CONTINUOUS_INTEGRATION || // Travis CI, Cirrus CI + env2.RUN_ID || // TaskCluster, dsari + exports.name || false)); + function checkEnv(obj) { + if (typeof obj === "string") + return !!env2[obj]; + if ("env" in obj) { + return env2[obj.env] && env2[obj.env].includes(obj.includes); } - return result; + if ("any" in obj) { + return obj.any.some(function(k) { + return !!env2[k]; + }); + } + return Object.keys(obj).every(function(k) { + return env2[k] === obj[k]; + }); } } }); // node_modules/@iarna/toml/lib/parser.js @@ -10641,14 +8490,14 @@ this._buf = ""; this.char = null; this.ii = 0; this.state = new State(this.parseStart); } - parse(str) { - if (str.length === 0 || str.length == null) + parse(str2) { + if (str2.length === 0 || str2.length == null) return; - this._buf = String(str); + this._buf = String(str2); this.ii = -1; this.char = -1; let getNext; while (getNext === false || this.nextChar()) { getNext = this.runOne(); @@ -10944,17 +8793,17 @@ function isAlphaNumHyphen(cp) { return cp >= CHAR_A && cp <= CHAR_Z || cp >= CHAR_a && cp <= CHAR_z || cp >= CHAR_0 && cp <= CHAR_9 || cp === CHAR_LOWBAR || cp === CHAR_HYPHEN; } var _type = Symbol("type"); var _declared = Symbol("declared"); - var hasOwnProperty2 = Object.prototype.hasOwnProperty; + var hasOwnProperty3 = Object.prototype.hasOwnProperty; var defineProperty = Object.defineProperty; var descriptor = { configurable: true, enumerable: true, writable: true, value: void 0 }; - function hasKey(obj, key) { - if (hasOwnProperty2.call(obj, key)) + function hasKey(obj, key2) { + if (hasOwnProperty3.call(obj, key2)) return true; - if (key === "__proto__") + if (key2 === "__proto__") defineProperty(obj, "__proto__", descriptor); return false; } var INLINE_TABLE = Symbol("inline-table"); function InlineTable() { @@ -10979,14 +8828,14 @@ return false; return obj[_type] === TABLE; } var _contentType = Symbol("content-type"); var INLINE_LIST = Symbol("inline-list"); - function InlineList(type) { + function InlineList(type2) { return Object.defineProperties([], { [_type]: { value: INLINE_LIST }, - [_contentType]: { value: type } + [_contentType]: { value: type2 } }); } function isInlineList(obj) { if (obj === null || typeof obj !== "object") return false; @@ -11049,11 +8898,11 @@ [_type]: { value: INTEGER }, [_inspect]: { value: () => `[Integer: ${value}]` } }); } } - function isInteger(obj) { + function isInteger2(obj) { if (obj === null || typeof obj !== "object") return false; return obj[_type] === INTEGER; } var FLOAT = Symbol("float"); @@ -11061,18 +8910,18 @@ return Object.defineProperties(new Number(value), { [_type]: { value: FLOAT }, [_inspect]: { value: () => `[Float: ${value}]` } }); } - function isFloat(obj) { + function isFloat2(obj) { if (obj === null || typeof obj !== "object") return false; return obj[_type] === FLOAT; } function tomlType(value) { - const type = typeof value; - if (type === "object") { + const type2 = typeof value; + if (type2 === "object") { if (value === null) return "null"; if (value instanceof Date) return "datetime"; if (_type in value) { @@ -11090,11 +8939,11 @@ case INTEGER: return "integer"; } } } - return type; + return type2; } function makeParserClass(Parser) { class TOMLParser extends Parser { constructor() { super(); @@ -11149,26 +8998,26 @@ target = target[kw] = target[kw] || Table(); } if (hasKey(target, finalKey)) { throw this.error(new TomlError("Can't redefine existing key")); } - if (isInteger(kv.value) || isFloat(kv.value)) { + if (isInteger2(kv.value) || isFloat2(kv.value)) { target[finalKey] = kv.value.valueOf(); } else { target[finalKey] = kv.value; } return this.goto(this.parseWhitespaceToEOL); } /* ASSSIGNMENT expression, key = value possibly inside an inline table */ parseAssign() { return this.callNow(this.parseKeyword, this.recordAssignKeyword); } - recordAssignKeyword(key) { + recordAssignKeyword(key2) { if (this.state.resultTable) { - this.state.resultTable.push(key); + this.state.resultTable.push(key2); } else { - this.state.resultTable = [key]; + this.state.resultTable = [key2]; } return this.goto(this.parseAssignKeywordPreDot); } parseAssignKeywordPreDot() { if (this.char === CHAR_PERIOD) { @@ -12099,11 +9948,11 @@ throw this.error(new TomlError(`Inline lists must be a single type, not a mix of ${listType} and ${valueType}`)); } } else { this.state.resultArr = InlineList(tomlType(value)); } - if (isFloat(value) || isInteger(value)) { + if (isFloat2(value) || isInteger2(value)) { this.state.resultArr.push(value.valueOf()); } else { this.state.resultArr.push(value); } return this.goto(this.parseInlineListNext); @@ -12145,11 +9994,11 @@ target = target[kw] = target[kw] || Table(); } if (hasKey(target, finalKey)) { throw this.error(new TomlError("Can't redefine existing key")); } - if (isInteger(kv.value) || isFloat(kv.value)) { + if (isInteger2(kv.value) || isFloat2(kv.value)) { target[finalKey] = kv.value.valueOf(); } else { target[finalKey] = kv.value; } return this.goto(this.parseInlineTableNext); @@ -12217,915 +10066,2104 @@ "node_modules/@iarna/toml/parse-async.js"(exports, module) { "use strict"; module.exports = parseAsync; var TOMLParser = require_toml_parser(); var prettyError = require_parse_pretty_error(); - function parseAsync(str, opts) { + function parseAsync(str2, opts) { if (!opts) opts = {}; const index = 0; const blocksize = opts.blocksize || 40960; const parser = new TOMLParser(); - return new Promise((resolve2, reject) => { - setImmediate(parseAsyncNext, index, blocksize, resolve2, reject); + return new Promise((resolve3, reject) => { + setImmediate(parseAsyncNext, index, blocksize, resolve3, reject); }); - function parseAsyncNext(index2, blocksize2, resolve2, reject) { - if (index2 >= str.length) { + function parseAsyncNext(index2, blocksize2, resolve3, reject) { + if (index2 >= str2.length) { try { - return resolve2(parser.finish()); + return resolve3(parser.finish()); } catch (err) { - return reject(prettyError(err, str)); + return reject(prettyError(err, str2)); } } try { - parser.parse(str.slice(index2, index2 + blocksize2)); - setImmediate(parseAsyncNext, index2 + blocksize2, blocksize2, resolve2, reject); + parser.parse(str2.slice(index2, index2 + blocksize2)); + setImmediate(parseAsyncNext, index2 + blocksize2, blocksize2, resolve3, reject); } catch (err) { - reject(prettyError(err, str)); + reject(prettyError(err, str2)); } } } } }); -// node_modules/json5/lib/unicode.js -var require_unicode = __commonJS({ - "node_modules/json5/lib/unicode.js"(exports, module) { - module.exports.Space_Separator = /[\u1680\u2000-\u200A\u202F\u205F\u3000]/; - module.exports.ID_Start = /[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u08A0-\u08B4\u08B6-\u08BD\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312E\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FEA\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF2D-\uDF4A\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC03-\uDC37\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDF00-\uDF19]|\uD806[\uDCA0-\uDCDF\uDCFF\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE83\uDE86-\uDE89\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50\uDF93-\uDF9F\uDFE0\uDFE1]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00-\uDD1E\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD83A[\uDC00-\uDCC4\uDD00-\uDD43]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]/; - module.exports.ID_Continue = /[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0300-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u0483-\u0487\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u05D0-\u05EA\u05F0-\u05F2\u0610-\u061A\u0620-\u0669\u066E-\u06D3\u06D5-\u06DC\u06DF-\u06E8\u06EA-\u06FC\u06FF\u0710-\u074A\u074D-\u07B1\u07C0-\u07F5\u07FA\u0800-\u082D\u0840-\u085B\u0860-\u086A\u08A0-\u08B4\u08B6-\u08BD\u08D4-\u08E1\u08E3-\u0963\u0966-\u096F\u0971-\u0983\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BC-\u09C4\u09C7\u09C8\u09CB-\u09CE\u09D7\u09DC\u09DD\u09DF-\u09E3\u09E6-\u09F1\u09FC\u0A01-\u0A03\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A59-\u0A5C\u0A5E\u0A66-\u0A75\u0A81-\u0A83\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABC-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AD0\u0AE0-\u0AE3\u0AE6-\u0AEF\u0AF9-\u0AFF\u0B01-\u0B03\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3C-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B5C\u0B5D\u0B5F-\u0B63\u0B66-\u0B6F\u0B71\u0B82\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD0\u0BD7\u0BE6-\u0BEF\u0C00-\u0C03\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C58-\u0C5A\u0C60-\u0C63\u0C66-\u0C6F\u0C80-\u0C83\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBC-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CDE\u0CE0-\u0CE3\u0CE6-\u0CEF\u0CF1\u0CF2\u0D00-\u0D03\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D44\u0D46-\u0D48\u0D4A-\u0D4E\u0D54-\u0D57\u0D5F-\u0D63\u0D66-\u0D6F\u0D7A-\u0D7F\u0D82\u0D83\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E01-\u0E3A\u0E40-\u0E4E\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB9\u0EBB-\u0EBD\u0EC0-\u0EC4\u0EC6\u0EC8-\u0ECD\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E-\u0F47\u0F49-\u0F6C\u0F71-\u0F84\u0F86-\u0F97\u0F99-\u0FBC\u0FC6\u1000-\u1049\u1050-\u109D\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u135D-\u135F\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1714\u1720-\u1734\u1740-\u1753\u1760-\u176C\u176E-\u1770\u1772\u1773\u1780-\u17D3\u17D7\u17DC\u17DD\u17E0-\u17E9\u180B-\u180D\u1810-\u1819\u1820-\u1877\u1880-\u18AA\u18B0-\u18F5\u1900-\u191E\u1920-\u192B\u1930-\u193B\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19D9\u1A00-\u1A1B\u1A20-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AA7\u1AB0-\u1ABD\u1B00-\u1B4B\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1BF3\u1C00-\u1C37\u1C40-\u1C49\u1C4D-\u1C7D\u1C80-\u1C88\u1CD0-\u1CD2\u1CD4-\u1CF9\u1D00-\u1DF9\u1DFB-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u203F\u2040\u2054\u2071\u207F\u2090-\u209C\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D7F-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2DE0-\u2DFF\u2E2F\u3005-\u3007\u3021-\u302F\u3031-\u3035\u3038-\u303C\u3041-\u3096\u3099\u309A\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312E\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FEA\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66F\uA674-\uA67D\uA67F-\uA6F1\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA827\uA840-\uA873\uA880-\uA8C5\uA8D0-\uA8D9\uA8E0-\uA8F7\uA8FB\uA8FD\uA900-\uA92D\uA930-\uA953\uA960-\uA97C\uA980-\uA9C0\uA9CF-\uA9D9\uA9E0-\uA9FE\uAA00-\uAA36\uAA40-\uAA4D\uAA50-\uAA59\uAA60-\uAA76\uAA7A-\uAAC2\uAADB-\uAADD\uAAE0-\uAAEF\uAAF2-\uAAF6\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABEA\uABEC\uABED\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF3F\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDDFD\uDE80-\uDE9C\uDEA0-\uDED0\uDEE0\uDF00-\uDF1F\uDF2D-\uDF4A\uDF50-\uDF7A\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCA0-\uDCA9\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00-\uDE03\uDE05\uDE06\uDE0C-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE38-\uDE3A\uDE3F\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE6\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC00-\uDC46\uDC66-\uDC6F\uDC7F-\uDCBA\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD00-\uDD34\uDD36-\uDD3F\uDD50-\uDD73\uDD76\uDD80-\uDDC4\uDDCA-\uDDCC\uDDD0-\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE37\uDE3E\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEEA\uDEF0-\uDEF9\uDF00-\uDF03\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3C-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF50\uDF57\uDF5D-\uDF63\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDC00-\uDC4A\uDC50-\uDC59\uDC80-\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDB5\uDDB8-\uDDC0\uDDD8-\uDDDD\uDE00-\uDE40\uDE44\uDE50-\uDE59\uDE80-\uDEB7\uDEC0-\uDEC9\uDF00-\uDF19\uDF1D-\uDF2B\uDF30-\uDF39]|\uD806[\uDCA0-\uDCE9\uDCFF\uDE00-\uDE3E\uDE47\uDE50-\uDE83\uDE86-\uDE99\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC36\uDC38-\uDC40\uDC50-\uDC59\uDC72-\uDC8F\uDC92-\uDCA7\uDCA9-\uDCB6\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD36\uDD3A\uDD3C\uDD3D\uDD3F-\uDD47\uDD50-\uDD59]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE60-\uDE69\uDED0-\uDEED\uDEF0-\uDEF4\uDF00-\uDF36\uDF40-\uDF43\uDF50-\uDF59\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50-\uDF7E\uDF8F-\uDF9F\uDFE0\uDFE1]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00-\uDD1E\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99\uDC9D\uDC9E]|\uD834[\uDD65-\uDD69\uDD6D-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB\uDFCE-\uDFFF]|\uD836[\uDE00-\uDE36\uDE3B-\uDE6C\uDE75\uDE84\uDE9B-\uDE9F\uDEA1-\uDEAF]|\uD838[\uDC00-\uDC06\uDC08-\uDC18\uDC1B-\uDC21\uDC23\uDC24\uDC26-\uDC2A]|\uD83A[\uDC00-\uDCC4\uDCD0-\uDCD6\uDD00-\uDD4A\uDD50-\uDD59]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]|\uDB40[\uDD00-\uDDEF]/; +// node_modules/js-tokens/index.js +var require_js_tokens = __commonJS({ + "node_modules/js-tokens/index.js"(exports) { + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.default = /((['"])(?:(?!\2|\\).|\\(?:\r\n|[\s\S]))*(\2)?|`(?:[^`\\$]|\\[\s\S]|\$(?!\{)|\$\{(?:[^{}]|\{[^}]*\}?)*\}?)*(`)?)|(\/\/.*)|(\/\*(?:[^*]|\*(?!\/))*(\*\/)?)|(\/(?!\*)(?:\[(?:(?![\]\\]).|\\.)*\]|(?![\/\]\\]).|\\.)+\/(?:(?!\s*(?:\b|[\u0080-\uFFFF$\\'"~({]|[+\-!](?!=)|\.?\d))|[gmiyus]{1,6}\b(?![\u0080-\uFFFF$\\]|\s*(?:[+\-*%&|^<>!=?({]|\/(?![\/*])))))|(0[xX][\da-fA-F]+|0[oO][0-7]+|0[bB][01]+|(?:\d*\.\d+|\d+\.?)(?:[eE][+-]?\d+)?)|((?!\d)(?:(?!\s)[$\w\u0080-\uFFFF]|\\u[\da-fA-F]{4}|\\u\{[\da-fA-F]+\})+)|(--|\+\+|&&|\|\||=>|\.{3}|(?:[+\-\/%&|^]|\*{1,2}|<{1,2}|>{1,3}|!=?|={1,2})=?|[?~.,:;[\](){}])|(\s+)|(^$|[\s\S])/g; + exports.matchToToken = function(match) { + var token2 = { type: "invalid", value: match[0], closed: void 0 }; + if (match[1]) + token2.type = "string", token2.closed = !!(match[3] || match[4]); + else if (match[5]) + token2.type = "comment"; + else if (match[6]) + token2.type = "comment", token2.closed = !!match[7]; + else if (match[8]) + token2.type = "regex"; + else if (match[9]) + token2.type = "number"; + else if (match[10]) + token2.type = "name"; + else if (match[11]) + token2.type = "punctuator"; + else if (match[12]) + token2.type = "whitespace"; + return token2; + }; } }); -// node_modules/json5/lib/util.js -var require_util = __commonJS({ - "node_modules/json5/lib/util.js"(exports, module) { - var unicode = require_unicode(); - module.exports = { - isSpaceSeparator(c) { - return typeof c === "string" && unicode.Space_Separator.test(c); - }, - isIdStartChar(c) { - return typeof c === "string" && (c >= "a" && c <= "z" || c >= "A" && c <= "Z" || c === "$" || c === "_" || unicode.ID_Start.test(c)); - }, - isIdContinueChar(c) { - return typeof c === "string" && (c >= "a" && c <= "z" || c >= "A" && c <= "Z" || c >= "0" && c <= "9" || c === "$" || c === "_" || c === "\u200C" || c === "\u200D" || unicode.ID_Continue.test(c)); - }, - isDigit(c) { - return typeof c === "string" && /[0-9]/.test(c); - }, - isHexDigit(c) { - return typeof c === "string" && /[0-9A-Fa-f]/.test(c); +// node_modules/@babel/helper-validator-identifier/lib/identifier.js +var require_identifier = __commonJS({ + "node_modules/@babel/helper-validator-identifier/lib/identifier.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.isIdentifierChar = isIdentifierChar; + exports.isIdentifierName = isIdentifierName; + exports.isIdentifierStart = isIdentifierStart; + var nonASCIIidentifierStartChars = "\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0560-\u0588\u05D0-\u05EA\u05EF-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u0870-\u0887\u0889-\u088E\u08A0-\u08C9\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C5D\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D04-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u1711\u171F-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1878\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4C\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1C90-\u1CBA\u1CBD-\u1CBF\u1CE9-\u1CEC\u1CEE-\u1CF3\u1CF5\u1CF6\u1CFA\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2118-\u211D\u2124\u2126\u2128\u212A-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309B-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u31A0-\u31BF\u31F0-\u31FF\u3400-\u4DBF\u4E00-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7CA\uA7D0\uA7D1\uA7D3\uA7D5-\uA7D9\uA7F2-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA8FE\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB69\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC"; + var nonASCIIidentifierChars = "\u200C\u200D\xB7\u0300-\u036F\u0387\u0483-\u0487\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u0610-\u061A\u064B-\u0669\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7\u06E8\u06EA-\u06ED\u06F0-\u06F9\u0711\u0730-\u074A\u07A6-\u07B0\u07C0-\u07C9\u07EB-\u07F3\u07FD\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0859-\u085B\u0898-\u089F\u08CA-\u08E1\u08E3-\u0903\u093A-\u093C\u093E-\u094F\u0951-\u0957\u0962\u0963\u0966-\u096F\u0981-\u0983\u09BC\u09BE-\u09C4\u09C7\u09C8\u09CB-\u09CD\u09D7\u09E2\u09E3\u09E6-\u09EF\u09FE\u0A01-\u0A03\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A66-\u0A71\u0A75\u0A81-\u0A83\u0ABC\u0ABE-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AE2\u0AE3\u0AE6-\u0AEF\u0AFA-\u0AFF\u0B01-\u0B03\u0B3C\u0B3E-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B55-\u0B57\u0B62\u0B63\u0B66-\u0B6F\u0B82\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD7\u0BE6-\u0BEF\u0C00-\u0C04\u0C3C\u0C3E-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C62\u0C63\u0C66-\u0C6F\u0C81-\u0C83\u0CBC\u0CBE-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CE2\u0CE3\u0CE6-\u0CEF\u0CF3\u0D00-\u0D03\u0D3B\u0D3C\u0D3E-\u0D44\u0D46-\u0D48\u0D4A-\u0D4D\u0D57\u0D62\u0D63\u0D66-\u0D6F\u0D81-\u0D83\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E31\u0E34-\u0E3A\u0E47-\u0E4E\u0E50-\u0E59\u0EB1\u0EB4-\u0EBC\u0EC8-\u0ECE\u0ED0-\u0ED9\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E\u0F3F\u0F71-\u0F84\u0F86\u0F87\u0F8D-\u0F97\u0F99-\u0FBC\u0FC6\u102B-\u103E\u1040-\u1049\u1056-\u1059\u105E-\u1060\u1062-\u1064\u1067-\u106D\u1071-\u1074\u1082-\u108D\u108F-\u109D\u135D-\u135F\u1369-\u1371\u1712-\u1715\u1732-\u1734\u1752\u1753\u1772\u1773\u17B4-\u17D3\u17DD\u17E0-\u17E9\u180B-\u180D\u180F-\u1819\u18A9\u1920-\u192B\u1930-\u193B\u1946-\u194F\u19D0-\u19DA\u1A17-\u1A1B\u1A55-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AB0-\u1ABD\u1ABF-\u1ACE\u1B00-\u1B04\u1B34-\u1B44\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1B82\u1BA1-\u1BAD\u1BB0-\u1BB9\u1BE6-\u1BF3\u1C24-\u1C37\u1C40-\u1C49\u1C50-\u1C59\u1CD0-\u1CD2\u1CD4-\u1CE8\u1CED\u1CF4\u1CF7-\u1CF9\u1DC0-\u1DFF\u200C\u200D\u203F\u2040\u2054\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2CEF-\u2CF1\u2D7F\u2DE0-\u2DFF\u302A-\u302F\u3099\u309A\u30FB\uA620-\uA629\uA66F\uA674-\uA67D\uA69E\uA69F\uA6F0\uA6F1\uA802\uA806\uA80B\uA823-\uA827\uA82C\uA880\uA881\uA8B4-\uA8C5\uA8D0-\uA8D9\uA8E0-\uA8F1\uA8FF-\uA909\uA926-\uA92D\uA947-\uA953\uA980-\uA983\uA9B3-\uA9C0\uA9D0-\uA9D9\uA9E5\uA9F0-\uA9F9\uAA29-\uAA36\uAA43\uAA4C\uAA4D\uAA50-\uAA59\uAA7B-\uAA7D\uAAB0\uAAB2-\uAAB4\uAAB7\uAAB8\uAABE\uAABF\uAAC1\uAAEB-\uAAEF\uAAF5\uAAF6\uABE3-\uABEA\uABEC\uABED\uABF0-\uABF9\uFB1E\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFF10-\uFF19\uFF3F\uFF65"; + var nonASCIIidentifierStart = new RegExp("[" + nonASCIIidentifierStartChars + "]"); + var nonASCIIidentifier = new RegExp("[" + nonASCIIidentifierStartChars + nonASCIIidentifierChars + "]"); + nonASCIIidentifierStartChars = nonASCIIidentifierChars = null; + var astralIdentifierStartCodes = [0, 11, 2, 25, 2, 18, 2, 1, 2, 14, 3, 13, 35, 122, 70, 52, 268, 28, 4, 48, 48, 31, 14, 29, 6, 37, 11, 29, 3, 35, 5, 7, 2, 4, 43, 157, 19, 35, 5, 35, 5, 39, 9, 51, 13, 10, 2, 14, 2, 6, 2, 1, 2, 10, 2, 14, 2, 6, 2, 1, 68, 310, 10, 21, 11, 7, 25, 5, 2, 41, 2, 8, 70, 5, 3, 0, 2, 43, 2, 1, 4, 0, 3, 22, 11, 22, 10, 30, 66, 18, 2, 1, 11, 21, 11, 25, 71, 55, 7, 1, 65, 0, 16, 3, 2, 2, 2, 28, 43, 28, 4, 28, 36, 7, 2, 27, 28, 53, 11, 21, 11, 18, 14, 17, 111, 72, 56, 50, 14, 50, 14, 35, 349, 41, 7, 1, 79, 28, 11, 0, 9, 21, 43, 17, 47, 20, 28, 22, 13, 52, 58, 1, 3, 0, 14, 44, 33, 24, 27, 35, 30, 0, 3, 0, 9, 34, 4, 0, 13, 47, 15, 3, 22, 0, 2, 0, 36, 17, 2, 24, 20, 1, 64, 6, 2, 0, 2, 3, 2, 14, 2, 9, 8, 46, 39, 7, 3, 1, 3, 21, 2, 6, 2, 1, 2, 4, 4, 0, 19, 0, 13, 4, 159, 52, 19, 3, 21, 2, 31, 47, 21, 1, 2, 0, 185, 46, 42, 3, 37, 47, 21, 0, 60, 42, 14, 0, 72, 26, 38, 6, 186, 43, 117, 63, 32, 7, 3, 0, 3, 7, 2, 1, 2, 23, 16, 0, 2, 0, 95, 7, 3, 38, 17, 0, 2, 0, 29, 0, 11, 39, 8, 0, 22, 0, 12, 45, 20, 0, 19, 72, 264, 8, 2, 36, 18, 0, 50, 29, 113, 6, 2, 1, 2, 37, 22, 0, 26, 5, 2, 1, 2, 31, 15, 0, 328, 18, 16, 0, 2, 12, 2, 33, 125, 0, 80, 921, 103, 110, 18, 195, 2637, 96, 16, 1071, 18, 5, 4026, 582, 8634, 568, 8, 30, 18, 78, 18, 29, 19, 47, 17, 3, 32, 20, 6, 18, 689, 63, 129, 74, 6, 0, 67, 12, 65, 1, 2, 0, 29, 6135, 9, 1237, 43, 8, 8936, 3, 2, 6, 2, 1, 2, 290, 16, 0, 30, 2, 3, 0, 15, 3, 9, 395, 2309, 106, 6, 12, 4, 8, 8, 9, 5991, 84, 2, 70, 2, 1, 3, 0, 3, 1, 3, 3, 2, 11, 2, 0, 2, 6, 2, 64, 2, 3, 3, 7, 2, 6, 2, 27, 2, 3, 2, 4, 2, 0, 4, 6, 2, 339, 3, 24, 2, 24, 2, 30, 2, 24, 2, 30, 2, 24, 2, 30, 2, 24, 2, 30, 2, 24, 2, 7, 1845, 30, 7, 5, 262, 61, 147, 44, 11, 6, 17, 0, 322, 29, 19, 43, 485, 27, 757, 6, 2, 3, 2, 1, 2, 14, 2, 196, 60, 67, 8, 0, 1205, 3, 2, 26, 2, 1, 2, 0, 3, 0, 2, 9, 2, 3, 2, 0, 2, 0, 7, 0, 5, 0, 2, 0, 2, 0, 2, 2, 2, 1, 2, 0, 3, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 1, 2, 0, 3, 3, 2, 6, 2, 3, 2, 3, 2, 0, 2, 9, 2, 16, 6, 2, 2, 4, 2, 16, 4421, 42719, 33, 4153, 7, 221, 3, 5761, 15, 7472, 16, 621, 2467, 541, 1507, 4938, 6, 4191]; + var astralIdentifierCodes = [509, 0, 227, 0, 150, 4, 294, 9, 1368, 2, 2, 1, 6, 3, 41, 2, 5, 0, 166, 1, 574, 3, 9, 9, 370, 1, 81, 2, 71, 10, 50, 3, 123, 2, 54, 14, 32, 10, 3, 1, 11, 3, 46, 10, 8, 0, 46, 9, 7, 2, 37, 13, 2, 9, 6, 1, 45, 0, 13, 2, 49, 13, 9, 3, 2, 11, 83, 11, 7, 0, 3, 0, 158, 11, 6, 9, 7, 3, 56, 1, 2, 6, 3, 1, 3, 2, 10, 0, 11, 1, 3, 6, 4, 4, 193, 17, 10, 9, 5, 0, 82, 19, 13, 9, 214, 6, 3, 8, 28, 1, 83, 16, 16, 9, 82, 12, 9, 9, 84, 14, 5, 9, 243, 14, 166, 9, 71, 5, 2, 1, 3, 3, 2, 0, 2, 1, 13, 9, 120, 6, 3, 6, 4, 0, 29, 9, 41, 6, 2, 3, 9, 0, 10, 10, 47, 15, 406, 7, 2, 7, 17, 9, 57, 21, 2, 13, 123, 5, 4, 0, 2, 1, 2, 6, 2, 0, 9, 9, 49, 4, 2, 1, 2, 4, 9, 9, 330, 3, 10, 1, 2, 0, 49, 6, 4, 4, 14, 9, 5351, 0, 7, 14, 13835, 9, 87, 9, 39, 4, 60, 6, 26, 9, 1014, 0, 2, 54, 8, 3, 82, 0, 12, 1, 19628, 1, 4706, 45, 3, 22, 543, 4, 4, 5, 9, 7, 3, 6, 31, 3, 149, 2, 1418, 49, 513, 54, 5, 49, 9, 0, 15, 0, 23, 4, 2, 14, 1361, 6, 2, 16, 3, 6, 2, 1, 2, 4, 101, 0, 161, 6, 10, 9, 357, 0, 62, 13, 499, 13, 983, 6, 110, 6, 6, 9, 4759, 9, 787719, 239]; + function isInAstralSet(code, set2) { + let pos2 = 65536; + for (let i = 0, length = set2.length; i < length; i += 2) { + pos2 += set2[i]; + if (pos2 > code) + return false; + pos2 += set2[i + 1]; + if (pos2 >= code) + return true; } + return false; + } + function isIdentifierStart(code) { + if (code < 65) + return code === 36; + if (code <= 90) + return true; + if (code < 97) + return code === 95; + if (code <= 122) + return true; + if (code <= 65535) { + return code >= 170 && nonASCIIidentifierStart.test(String.fromCharCode(code)); + } + return isInAstralSet(code, astralIdentifierStartCodes); + } + function isIdentifierChar(code) { + if (code < 48) + return code === 36; + if (code < 58) + return true; + if (code < 65) + return false; + if (code <= 90) + return true; + if (code < 97) + return code === 95; + if (code <= 122) + return true; + if (code <= 65535) { + return code >= 170 && nonASCIIidentifier.test(String.fromCharCode(code)); + } + return isInAstralSet(code, astralIdentifierStartCodes) || isInAstralSet(code, astralIdentifierCodes); + } + function isIdentifierName(name) { + let isFirst = true; + for (let i = 0; i < name.length; i++) { + let cp = name.charCodeAt(i); + if ((cp & 64512) === 55296 && i + 1 < name.length) { + const trail = name.charCodeAt(++i); + if ((trail & 64512) === 56320) { + cp = 65536 + ((cp & 1023) << 10) + (trail & 1023); + } + } + if (isFirst) { + isFirst = false; + if (!isIdentifierStart(cp)) { + return false; + } + } else if (!isIdentifierChar(cp)) { + return false; + } + } + return !isFirst; + } + } +}); + +// node_modules/@babel/helper-validator-identifier/lib/keyword.js +var require_keyword = __commonJS({ + "node_modules/@babel/helper-validator-identifier/lib/keyword.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.isKeyword = isKeyword; + exports.isReservedWord = isReservedWord; + exports.isStrictBindOnlyReservedWord = isStrictBindOnlyReservedWord; + exports.isStrictBindReservedWord = isStrictBindReservedWord; + exports.isStrictReservedWord = isStrictReservedWord; + var reservedWords = { + keyword: ["break", "case", "catch", "continue", "debugger", "default", "do", "else", "finally", "for", "function", "if", "return", "switch", "throw", "try", "var", "const", "while", "with", "new", "this", "super", "class", "extends", "export", "import", "null", "true", "false", "in", "instanceof", "typeof", "void", "delete"], + strict: ["implements", "interface", "let", "package", "private", "protected", "public", "static", "yield"], + strictBind: ["eval", "arguments"] }; + var keywords = new Set(reservedWords.keyword); + var reservedWordsStrictSet = new Set(reservedWords.strict); + var reservedWordsStrictBindSet = new Set(reservedWords.strictBind); + function isReservedWord(word, inModule) { + return inModule && word === "await" || word === "enum"; + } + function isStrictReservedWord(word, inModule) { + return isReservedWord(word, inModule) || reservedWordsStrictSet.has(word); + } + function isStrictBindOnlyReservedWord(word) { + return reservedWordsStrictBindSet.has(word); + } + function isStrictBindReservedWord(word, inModule) { + return isStrictReservedWord(word, inModule) || isStrictBindOnlyReservedWord(word); + } + function isKeyword(word) { + return keywords.has(word); + } } }); -// node_modules/json5/lib/parse.js -var require_parse3 = __commonJS({ - "node_modules/json5/lib/parse.js"(exports, module) { - var util = require_util(); - var source; - var parseState; - var stack; - var pos; - var line2; - var column; - var token; - var key; - var root; - module.exports = function parse3(text, reviver) { - source = String(text); - parseState = "start"; - stack = []; - pos = 0; - line2 = 1; - column = 0; - token = void 0; - key = void 0; - root = void 0; - do { - token = lex(); - parseStates[parseState](); - } while (token.type !== "eof"); - if (typeof reviver === "function") { - return internalize({ "": root }, "", reviver); +// node_modules/@babel/helper-validator-identifier/lib/index.js +var require_lib = __commonJS({ + "node_modules/@babel/helper-validator-identifier/lib/index.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { + value: true + }); + Object.defineProperty(exports, "isIdentifierChar", { + enumerable: true, + get: function() { + return _identifier.isIdentifierChar; } - return root; + }); + Object.defineProperty(exports, "isIdentifierName", { + enumerable: true, + get: function() { + return _identifier.isIdentifierName; + } + }); + Object.defineProperty(exports, "isIdentifierStart", { + enumerable: true, + get: function() { + return _identifier.isIdentifierStart; + } + }); + Object.defineProperty(exports, "isKeyword", { + enumerable: true, + get: function() { + return _keyword.isKeyword; + } + }); + Object.defineProperty(exports, "isReservedWord", { + enumerable: true, + get: function() { + return _keyword.isReservedWord; + } + }); + Object.defineProperty(exports, "isStrictBindOnlyReservedWord", { + enumerable: true, + get: function() { + return _keyword.isStrictBindOnlyReservedWord; + } + }); + Object.defineProperty(exports, "isStrictBindReservedWord", { + enumerable: true, + get: function() { + return _keyword.isStrictBindReservedWord; + } + }); + Object.defineProperty(exports, "isStrictReservedWord", { + enumerable: true, + get: function() { + return _keyword.isStrictReservedWord; + } + }); + var _identifier = require_identifier(); + var _keyword = require_keyword(); + } +}); + +// node_modules/@babel/code-frame/node_modules/escape-string-regexp/index.js +var require_escape_string_regexp = __commonJS({ + "node_modules/@babel/code-frame/node_modules/escape-string-regexp/index.js"(exports, module) { + "use strict"; + var matchOperatorsRe = /[|\\{}()[\]^$+*?.]/g; + module.exports = function(str2) { + if (typeof str2 !== "string") { + throw new TypeError("Expected a string"); + } + return str2.replace(matchOperatorsRe, "\\$&"); }; - function internalize(holder, name, reviver) { - const value = holder[name]; - if (value != null && typeof value === "object") { - if (Array.isArray(value)) { - for (let i = 0; i < value.length; i++) { - const key2 = String(i); - const replacement = internalize(value, key2, reviver); - if (replacement === void 0) { - delete value[key2]; - } else { - Object.defineProperty(value, key2, { - value: replacement, - writable: true, - enumerable: true, - configurable: true - }); - } - } - } else { - for (const key2 in value) { - const replacement = internalize(value, key2, reviver); - if (replacement === void 0) { - delete value[key2]; - } else { - Object.defineProperty(value, key2, { - value: replacement, - writable: true, - enumerable: true, - configurable: true - }); - } - } - } + } +}); + +// node_modules/color-name/index.js +var require_color_name = __commonJS({ + "node_modules/color-name/index.js"(exports, module) { + "use strict"; + module.exports = { + "aliceblue": [240, 248, 255], + "antiquewhite": [250, 235, 215], + "aqua": [0, 255, 255], + "aquamarine": [127, 255, 212], + "azure": [240, 255, 255], + "beige": [245, 245, 220], + "bisque": [255, 228, 196], + "black": [0, 0, 0], + "blanchedalmond": [255, 235, 205], + "blue": [0, 0, 255], + "blueviolet": [138, 43, 226], + "brown": [165, 42, 42], + "burlywood": [222, 184, 135], + "cadetblue": [95, 158, 160], + "chartreuse": [127, 255, 0], + "chocolate": [210, 105, 30], + "coral": [255, 127, 80], + "cornflowerblue": [100, 149, 237], + "cornsilk": [255, 248, 220], + "crimson": [220, 20, 60], + "cyan": [0, 255, 255], + "darkblue": [0, 0, 139], + "darkcyan": [0, 139, 139], + "darkgoldenrod": [184, 134, 11], + "darkgray": [169, 169, 169], + "darkgreen": [0, 100, 0], + "darkgrey": [169, 169, 169], + "darkkhaki": [189, 183, 107], + "darkmagenta": [139, 0, 139], + "darkolivegreen": [85, 107, 47], + "darkorange": [255, 140, 0], + "darkorchid": [153, 50, 204], + "darkred": [139, 0, 0], + "darksalmon": [233, 150, 122], + "darkseagreen": [143, 188, 143], + "darkslateblue": [72, 61, 139], + "darkslategray": [47, 79, 79], + "darkslategrey": [47, 79, 79], + "darkturquoise": [0, 206, 209], + "darkviolet": [148, 0, 211], + "deeppink": [255, 20, 147], + "deepskyblue": [0, 191, 255], + "dimgray": [105, 105, 105], + "dimgrey": [105, 105, 105], + "dodgerblue": [30, 144, 255], + "firebrick": [178, 34, 34], + "floralwhite": [255, 250, 240], + "forestgreen": [34, 139, 34], + "fuchsia": [255, 0, 255], + "gainsboro": [220, 220, 220], + "ghostwhite": [248, 248, 255], + "gold": [255, 215, 0], + "goldenrod": [218, 165, 32], + "gray": [128, 128, 128], + "green": [0, 128, 0], + "greenyellow": [173, 255, 47], + "grey": [128, 128, 128], + "honeydew": [240, 255, 240], + "hotpink": [255, 105, 180], + "indianred": [205, 92, 92], + "indigo": [75, 0, 130], + "ivory": [255, 255, 240], + "khaki": [240, 230, 140], + "lavender": [230, 230, 250], + "lavenderblush": [255, 240, 245], + "lawngreen": [124, 252, 0], + "lemonchiffon": [255, 250, 205], + "lightblue": [173, 216, 230], + "lightcoral": [240, 128, 128], + "lightcyan": [224, 255, 255], + "lightgoldenrodyellow": [250, 250, 210], + "lightgray": [211, 211, 211], + "lightgreen": [144, 238, 144], + "lightgrey": [211, 211, 211], + "lightpink": [255, 182, 193], + "lightsalmon": [255, 160, 122], + "lightseagreen": [32, 178, 170], + "lightskyblue": [135, 206, 250], + "lightslategray": [119, 136, 153], + "lightslategrey": [119, 136, 153], + "lightsteelblue": [176, 196, 222], + "lightyellow": [255, 255, 224], + "lime": [0, 255, 0], + "limegreen": [50, 205, 50], + "linen": [250, 240, 230], + "magenta": [255, 0, 255], + "maroon": [128, 0, 0], + "mediumaquamarine": [102, 205, 170], + "mediumblue": [0, 0, 205], + "mediumorchid": [186, 85, 211], + "mediumpurple": [147, 112, 219], + "mediumseagreen": [60, 179, 113], + "mediumslateblue": [123, 104, 238], + "mediumspringgreen": [0, 250, 154], + "mediumturquoise": [72, 209, 204], + "mediumvioletred": [199, 21, 133], + "midnightblue": [25, 25, 112], + "mintcream": [245, 255, 250], + "mistyrose": [255, 228, 225], + "moccasin": [255, 228, 181], + "navajowhite": [255, 222, 173], + "navy": [0, 0, 128], + "oldlace": [253, 245, 230], + "olive": [128, 128, 0], + "olivedrab": [107, 142, 35], + "orange": [255, 165, 0], + "orangered": [255, 69, 0], + "orchid": [218, 112, 214], + "palegoldenrod": [238, 232, 170], + "palegreen": [152, 251, 152], + "paleturquoise": [175, 238, 238], + "palevioletred": [219, 112, 147], + "papayawhip": [255, 239, 213], + "peachpuff": [255, 218, 185], + "peru": [205, 133, 63], + "pink": [255, 192, 203], + "plum": [221, 160, 221], + "powderblue": [176, 224, 230], + "purple": [128, 0, 128], + "rebeccapurple": [102, 51, 153], + "red": [255, 0, 0], + "rosybrown": [188, 143, 143], + "royalblue": [65, 105, 225], + "saddlebrown": [139, 69, 19], + "salmon": [250, 128, 114], + "sandybrown": [244, 164, 96], + "seagreen": [46, 139, 87], + "seashell": [255, 245, 238], + "sienna": [160, 82, 45], + "silver": [192, 192, 192], + "skyblue": [135, 206, 235], + "slateblue": [106, 90, 205], + "slategray": [112, 128, 144], + "slategrey": [112, 128, 144], + "snow": [255, 250, 250], + "springgreen": [0, 255, 127], + "steelblue": [70, 130, 180], + "tan": [210, 180, 140], + "teal": [0, 128, 128], + "thistle": [216, 191, 216], + "tomato": [255, 99, 71], + "turquoise": [64, 224, 208], + "violet": [238, 130, 238], + "wheat": [245, 222, 179], + "white": [255, 255, 255], + "whitesmoke": [245, 245, 245], + "yellow": [255, 255, 0], + "yellowgreen": [154, 205, 50] + }; + } +}); + +// node_modules/color-convert/conversions.js +var require_conversions = __commonJS({ + "node_modules/color-convert/conversions.js"(exports, module) { + var cssKeywords = require_color_name(); + var reverseKeywords = {}; + for (key2 in cssKeywords) { + if (cssKeywords.hasOwnProperty(key2)) { + reverseKeywords[cssKeywords[key2]] = key2; } - return reviver.call(holder, name, value); } - var lexState; - var buffer; - var doubleQuote; - var sign; - var c; - function lex() { - lexState = "default"; - buffer = ""; - doubleQuote = false; - sign = 1; - for (; ; ) { - c = peek(); - const token2 = lexStates[lexState](); - if (token2) { - return token2; + var key2; + var convert = module.exports = { + rgb: { channels: 3, labels: "rgb" }, + hsl: { channels: 3, labels: "hsl" }, + hsv: { channels: 3, labels: "hsv" }, + hwb: { channels: 3, labels: "hwb" }, + cmyk: { channels: 4, labels: "cmyk" }, + xyz: { channels: 3, labels: "xyz" }, + lab: { channels: 3, labels: "lab" }, + lch: { channels: 3, labels: "lch" }, + hex: { channels: 1, labels: ["hex"] }, + keyword: { channels: 1, labels: ["keyword"] }, + ansi16: { channels: 1, labels: ["ansi16"] }, + ansi256: { channels: 1, labels: ["ansi256"] }, + hcg: { channels: 3, labels: ["h", "c", "g"] }, + apple: { channels: 3, labels: ["r16", "g16", "b16"] }, + gray: { channels: 1, labels: ["gray"] } + }; + for (model in convert) { + if (convert.hasOwnProperty(model)) { + if (!("channels" in convert[model])) { + throw new Error("missing channels property: " + model); } + if (!("labels" in convert[model])) { + throw new Error("missing channel labels property: " + model); + } + if (convert[model].labels.length !== convert[model].channels) { + throw new Error("channel and label counts mismatch: " + model); + } + channels = convert[model].channels; + labels = convert[model].labels; + delete convert[model].channels; + delete convert[model].labels; + Object.defineProperty(convert[model], "channels", { value: channels }); + Object.defineProperty(convert[model], "labels", { value: labels }); } } - function peek() { - if (source[pos]) { - return String.fromCodePoint(source.codePointAt(pos)); + var channels; + var labels; + var model; + convert.rgb.hsl = function(rgb) { + var r = rgb[0] / 255; + var g = rgb[1] / 255; + var b = rgb[2] / 255; + var min = Math.min(r, g, b); + var max = Math.max(r, g, b); + var delta = max - min; + var h; + var s; + var l; + if (max === min) { + h = 0; + } else if (r === max) { + h = (g - b) / delta; + } else if (g === max) { + h = 2 + (b - r) / delta; + } else if (b === max) { + h = 4 + (r - g) / delta; } - } - function read2() { - const c2 = peek(); - if (c2 === "\n") { - line2++; - column = 0; - } else if (c2) { - column += c2.length; + h = Math.min(h * 60, 360); + if (h < 0) { + h += 360; + } + l = (min + max) / 2; + if (max === min) { + s = 0; + } else if (l <= 0.5) { + s = delta / (max + min); } else { - column++; + s = delta / (2 - max - min); } - if (c2) { - pos += c2.length; + return [h, s * 100, l * 100]; + }; + convert.rgb.hsv = function(rgb) { + var rdif; + var gdif; + var bdif; + var h; + var s; + var r = rgb[0] / 255; + var g = rgb[1] / 255; + var b = rgb[2] / 255; + var v = Math.max(r, g, b); + var diff = v - Math.min(r, g, b); + var diffc = function(c2) { + return (v - c2) / 6 / diff + 1 / 2; + }; + if (diff === 0) { + h = s = 0; + } else { + s = diff / v; + rdif = diffc(r); + gdif = diffc(g); + bdif = diffc(b); + if (r === v) { + h = bdif - gdif; + } else if (g === v) { + h = 1 / 3 + rdif - bdif; + } else if (b === v) { + h = 2 / 3 + gdif - rdif; + } + if (h < 0) { + h += 1; + } else if (h > 1) { + h -= 1; + } } - return c2; + return [ + h * 360, + s * 100, + v * 100 + ]; + }; + convert.rgb.hwb = function(rgb) { + var r = rgb[0]; + var g = rgb[1]; + var b = rgb[2]; + var h = convert.rgb.hsl(rgb)[0]; + var w = 1 / 255 * Math.min(r, Math.min(g, b)); + b = 1 - 1 / 255 * Math.max(r, Math.max(g, b)); + return [h, w * 100, b * 100]; + }; + convert.rgb.cmyk = function(rgb) { + var r = rgb[0] / 255; + var g = rgb[1] / 255; + var b = rgb[2] / 255; + var c2; + var m; + var y; + var k; + k = Math.min(1 - r, 1 - g, 1 - b); + c2 = (1 - r - k) / (1 - k) || 0; + m = (1 - g - k) / (1 - k) || 0; + y = (1 - b - k) / (1 - k) || 0; + return [c2 * 100, m * 100, y * 100, k * 100]; + }; + function comparativeDistance(x, y) { + return Math.pow(x[0] - y[0], 2) + Math.pow(x[1] - y[1], 2) + Math.pow(x[2] - y[2], 2); } - var lexStates = { - default() { - switch (c) { - case " ": - case "\v": - case "\f": - case " ": - case "\xA0": - case "\uFEFF": - case "\n": - case "\r": - case "\u2028": - case "\u2029": - read2(); - return; - case "/": - read2(); - lexState = "comment"; - return; - case void 0: - read2(); - return newToken("eof"); + convert.rgb.keyword = function(rgb) { + var reversed = reverseKeywords[rgb]; + if (reversed) { + return reversed; + } + var currentClosestDistance = Infinity; + var currentClosestKeyword; + for (var keyword in cssKeywords) { + if (cssKeywords.hasOwnProperty(keyword)) { + var value = cssKeywords[keyword]; + var distance = comparativeDistance(rgb, value); + if (distance < currentClosestDistance) { + currentClosestDistance = distance; + currentClosestKeyword = keyword; + } } - if (util.isSpaceSeparator(c)) { - read2(); - return; + } + return currentClosestKeyword; + }; + convert.keyword.rgb = function(keyword) { + return cssKeywords[keyword]; + }; + convert.rgb.xyz = function(rgb) { + var r = rgb[0] / 255; + var g = rgb[1] / 255; + var b = rgb[2] / 255; + r = r > 0.04045 ? Math.pow((r + 0.055) / 1.055, 2.4) : r / 12.92; + g = g > 0.04045 ? Math.pow((g + 0.055) / 1.055, 2.4) : g / 12.92; + b = b > 0.04045 ? Math.pow((b + 0.055) / 1.055, 2.4) : b / 12.92; + var x = r * 0.4124 + g * 0.3576 + b * 0.1805; + var y = r * 0.2126 + g * 0.7152 + b * 0.0722; + var z = r * 0.0193 + g * 0.1192 + b * 0.9505; + return [x * 100, y * 100, z * 100]; + }; + convert.rgb.lab = function(rgb) { + var xyz = convert.rgb.xyz(rgb); + var x = xyz[0]; + var y = xyz[1]; + var z = xyz[2]; + var l; + var a; + var b; + x /= 95.047; + y /= 100; + z /= 108.883; + x = x > 8856e-6 ? Math.pow(x, 1 / 3) : 7.787 * x + 16 / 116; + y = y > 8856e-6 ? Math.pow(y, 1 / 3) : 7.787 * y + 16 / 116; + z = z > 8856e-6 ? Math.pow(z, 1 / 3) : 7.787 * z + 16 / 116; + l = 116 * y - 16; + a = 500 * (x - y); + b = 200 * (y - z); + return [l, a, b]; + }; + convert.hsl.rgb = function(hsl) { + var h = hsl[0] / 360; + var s = hsl[1] / 100; + var l = hsl[2] / 100; + var t1; + var t2; + var t3; + var rgb; + var val; + if (s === 0) { + val = l * 255; + return [val, val, val]; + } + if (l < 0.5) { + t2 = l * (1 + s); + } else { + t2 = l + s - l * s; + } + t1 = 2 * l - t2; + rgb = [0, 0, 0]; + for (var i = 0; i < 3; i++) { + t3 = h + 1 / 3 * -(i - 1); + if (t3 < 0) { + t3++; } - return lexStates[parseState](); - }, - comment() { - switch (c) { - case "*": - read2(); - lexState = "multiLineComment"; - return; - case "/": - read2(); - lexState = "singleLineComment"; - return; + if (t3 > 1) { + t3--; } - throw invalidChar(read2()); - }, - multiLineComment() { - switch (c) { - case "*": - read2(); - lexState = "multiLineCommentAsterisk"; - return; - case void 0: - throw invalidChar(read2()); + if (6 * t3 < 1) { + val = t1 + (t2 - t1) * 6 * t3; + } else if (2 * t3 < 1) { + val = t2; + } else if (3 * t3 < 2) { + val = t1 + (t2 - t1) * (2 / 3 - t3) * 6; + } else { + val = t1; } - read2(); - }, - multiLineCommentAsterisk() { - switch (c) { - case "*": - read2(); - return; - case "/": - read2(); - lexState = "default"; - return; - case void 0: - throw invalidChar(read2()); + rgb[i] = val * 255; + } + return rgb; + }; + convert.hsl.hsv = function(hsl) { + var h = hsl[0]; + var s = hsl[1] / 100; + var l = hsl[2] / 100; + var smin = s; + var lmin = Math.max(l, 0.01); + var sv; + var v; + l *= 2; + s *= l <= 1 ? l : 2 - l; + smin *= lmin <= 1 ? lmin : 2 - lmin; + v = (l + s) / 2; + sv = l === 0 ? 2 * smin / (lmin + smin) : 2 * s / (l + s); + return [h, sv * 100, v * 100]; + }; + convert.hsv.rgb = function(hsv) { + var h = hsv[0] / 60; + var s = hsv[1] / 100; + var v = hsv[2] / 100; + var hi = Math.floor(h) % 6; + var f = h - Math.floor(h); + var p = 255 * v * (1 - s); + var q = 255 * v * (1 - s * f); + var t = 255 * v * (1 - s * (1 - f)); + v *= 255; + switch (hi) { + case 0: + return [v, t, p]; + case 1: + return [q, v, p]; + case 2: + return [p, v, t]; + case 3: + return [p, q, v]; + case 4: + return [t, p, v]; + case 5: + return [v, p, q]; + } + }; + convert.hsv.hsl = function(hsv) { + var h = hsv[0]; + var s = hsv[1] / 100; + var v = hsv[2] / 100; + var vmin = Math.max(v, 0.01); + var lmin; + var sl; + var l; + l = (2 - s) * v; + lmin = (2 - s) * vmin; + sl = s * vmin; + sl /= lmin <= 1 ? lmin : 2 - lmin; + sl = sl || 0; + l /= 2; + return [h, sl * 100, l * 100]; + }; + convert.hwb.rgb = function(hwb) { + var h = hwb[0] / 360; + var wh = hwb[1] / 100; + var bl = hwb[2] / 100; + var ratio = wh + bl; + var i; + var v; + var f; + var n; + if (ratio > 1) { + wh /= ratio; + bl /= ratio; + } + i = Math.floor(6 * h); + v = 1 - bl; + f = 6 * h - i; + if ((i & 1) !== 0) { + f = 1 - f; + } + n = wh + f * (v - wh); + var r; + var g; + var b; + switch (i) { + default: + case 6: + case 0: + r = v; + g = n; + b = wh; + break; + case 1: + r = n; + g = v; + b = wh; + break; + case 2: + r = wh; + g = v; + b = n; + break; + case 3: + r = wh; + g = n; + b = v; + break; + case 4: + r = n; + g = wh; + b = v; + break; + case 5: + r = v; + g = wh; + b = n; + break; + } + return [r * 255, g * 255, b * 255]; + }; + convert.cmyk.rgb = function(cmyk) { + var c2 = cmyk[0] / 100; + var m = cmyk[1] / 100; + var y = cmyk[2] / 100; + var k = cmyk[3] / 100; + var r; + var g; + var b; + r = 1 - Math.min(1, c2 * (1 - k) + k); + g = 1 - Math.min(1, m * (1 - k) + k); + b = 1 - Math.min(1, y * (1 - k) + k); + return [r * 255, g * 255, b * 255]; + }; + convert.xyz.rgb = function(xyz) { + var x = xyz[0] / 100; + var y = xyz[1] / 100; + var z = xyz[2] / 100; + var r; + var g; + var b; + r = x * 3.2406 + y * -1.5372 + z * -0.4986; + g = x * -0.9689 + y * 1.8758 + z * 0.0415; + b = x * 0.0557 + y * -0.204 + z * 1.057; + r = r > 31308e-7 ? 1.055 * Math.pow(r, 1 / 2.4) - 0.055 : r * 12.92; + g = g > 31308e-7 ? 1.055 * Math.pow(g, 1 / 2.4) - 0.055 : g * 12.92; + b = b > 31308e-7 ? 1.055 * Math.pow(b, 1 / 2.4) - 0.055 : b * 12.92; + r = Math.min(Math.max(0, r), 1); + g = Math.min(Math.max(0, g), 1); + b = Math.min(Math.max(0, b), 1); + return [r * 255, g * 255, b * 255]; + }; + convert.xyz.lab = function(xyz) { + var x = xyz[0]; + var y = xyz[1]; + var z = xyz[2]; + var l; + var a; + var b; + x /= 95.047; + y /= 100; + z /= 108.883; + x = x > 8856e-6 ? Math.pow(x, 1 / 3) : 7.787 * x + 16 / 116; + y = y > 8856e-6 ? Math.pow(y, 1 / 3) : 7.787 * y + 16 / 116; + z = z > 8856e-6 ? Math.pow(z, 1 / 3) : 7.787 * z + 16 / 116; + l = 116 * y - 16; + a = 500 * (x - y); + b = 200 * (y - z); + return [l, a, b]; + }; + convert.lab.xyz = function(lab) { + var l = lab[0]; + var a = lab[1]; + var b = lab[2]; + var x; + var y; + var z; + y = (l + 16) / 116; + x = a / 500 + y; + z = y - b / 200; + var y2 = Math.pow(y, 3); + var x2 = Math.pow(x, 3); + var z2 = Math.pow(z, 3); + y = y2 > 8856e-6 ? y2 : (y - 16 / 116) / 7.787; + x = x2 > 8856e-6 ? x2 : (x - 16 / 116) / 7.787; + z = z2 > 8856e-6 ? z2 : (z - 16 / 116) / 7.787; + x *= 95.047; + y *= 100; + z *= 108.883; + return [x, y, z]; + }; + convert.lab.lch = function(lab) { + var l = lab[0]; + var a = lab[1]; + var b = lab[2]; + var hr; + var h; + var c2; + hr = Math.atan2(b, a); + h = hr * 360 / 2 / Math.PI; + if (h < 0) { + h += 360; + } + c2 = Math.sqrt(a * a + b * b); + return [l, c2, h]; + }; + convert.lch.lab = function(lch) { + var l = lch[0]; + var c2 = lch[1]; + var h = lch[2]; + var a; + var b; + var hr; + hr = h / 360 * 2 * Math.PI; + a = c2 * Math.cos(hr); + b = c2 * Math.sin(hr); + return [l, a, b]; + }; + convert.rgb.ansi16 = function(args) { + var r = args[0]; + var g = args[1]; + var b = args[2]; + var value = 1 in arguments ? arguments[1] : convert.rgb.hsv(args)[2]; + value = Math.round(value / 50); + if (value === 0) { + return 30; + } + var ansi = 30 + (Math.round(b / 255) << 2 | Math.round(g / 255) << 1 | Math.round(r / 255)); + if (value === 2) { + ansi += 60; + } + return ansi; + }; + convert.hsv.ansi16 = function(args) { + return convert.rgb.ansi16(convert.hsv.rgb(args), args[2]); + }; + convert.rgb.ansi256 = function(args) { + var r = args[0]; + var g = args[1]; + var b = args[2]; + if (r === g && g === b) { + if (r < 8) { + return 16; } - read2(); - lexState = "multiLineComment"; - }, - singleLineComment() { - switch (c) { - case "\n": - case "\r": - case "\u2028": - case "\u2029": - read2(); - lexState = "default"; - return; - case void 0: - read2(); - return newToken("eof"); + if (r > 248) { + return 231; } - read2(); - }, - value() { - switch (c) { - case "{": - case "[": - return newToken("punctuator", read2()); - case "n": - read2(); - literal("ull"); - return newToken("null", null); - case "t": - read2(); - literal("rue"); - return newToken("boolean", true); - case "f": - read2(); - literal("alse"); - return newToken("boolean", false); - case "-": - case "+": - if (read2() === "-") { - sign = -1; - } - lexState = "sign"; - return; - case ".": - buffer = read2(); - lexState = "decimalPointLeading"; - return; - case "0": - buffer = read2(); - lexState = "zero"; - return; - case "1": - case "2": - case "3": - case "4": - case "5": - case "6": - case "7": - case "8": - case "9": - buffer = read2(); - lexState = "decimalInteger"; - return; - case "I": - read2(); - literal("nfinity"); - return newToken("numeric", Infinity); - case "N": - read2(); - literal("aN"); - return newToken("numeric", NaN); - case '"': - case "'": - doubleQuote = read2() === '"'; - buffer = ""; - lexState = "string"; - return; + return Math.round((r - 8) / 247 * 24) + 232; + } + var ansi = 16 + 36 * Math.round(r / 255 * 5) + 6 * Math.round(g / 255 * 5) + Math.round(b / 255 * 5); + return ansi; + }; + convert.ansi16.rgb = function(args) { + var color = args % 10; + if (color === 0 || color === 7) { + if (args > 50) { + color += 3.5; } - throw invalidChar(read2()); - }, - identifierNameStartEscape() { - if (c !== "u") { - throw invalidChar(read2()); + color = color / 10.5 * 255; + return [color, color, color]; + } + var mult = (~~(args > 50) + 1) * 0.5; + var r = (color & 1) * mult * 255; + var g = (color >> 1 & 1) * mult * 255; + var b = (color >> 2 & 1) * mult * 255; + return [r, g, b]; + }; + convert.ansi256.rgb = function(args) { + if (args >= 232) { + var c2 = (args - 232) * 10 + 8; + return [c2, c2, c2]; + } + args -= 16; + var rem; + var r = Math.floor(args / 36) / 5 * 255; + var g = Math.floor((rem = args % 36) / 6) / 5 * 255; + var b = rem % 6 / 5 * 255; + return [r, g, b]; + }; + convert.rgb.hex = function(args) { + var integer = ((Math.round(args[0]) & 255) << 16) + ((Math.round(args[1]) & 255) << 8) + (Math.round(args[2]) & 255); + var string = integer.toString(16).toUpperCase(); + return "000000".substring(string.length) + string; + }; + convert.hex.rgb = function(args) { + var match = args.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i); + if (!match) { + return [0, 0, 0]; + } + var colorString = match[0]; + if (match[0].length === 3) { + colorString = colorString.split("").map(function(char) { + return char + char; + }).join(""); + } + var integer = parseInt(colorString, 16); + var r = integer >> 16 & 255; + var g = integer >> 8 & 255; + var b = integer & 255; + return [r, g, b]; + }; + convert.rgb.hcg = function(rgb) { + var r = rgb[0] / 255; + var g = rgb[1] / 255; + var b = rgb[2] / 255; + var max = Math.max(Math.max(r, g), b); + var min = Math.min(Math.min(r, g), b); + var chroma = max - min; + var grayscale; + var hue; + if (chroma < 1) { + grayscale = min / (1 - chroma); + } else { + grayscale = 0; + } + if (chroma <= 0) { + hue = 0; + } else if (max === r) { + hue = (g - b) / chroma % 6; + } else if (max === g) { + hue = 2 + (b - r) / chroma; + } else { + hue = 4 + (r - g) / chroma + 4; + } + hue /= 6; + hue %= 1; + return [hue * 360, chroma * 100, grayscale * 100]; + }; + convert.hsl.hcg = function(hsl) { + var s = hsl[1] / 100; + var l = hsl[2] / 100; + var c2 = 1; + var f = 0; + if (l < 0.5) { + c2 = 2 * s * l; + } else { + c2 = 2 * s * (1 - l); + } + if (c2 < 1) { + f = (l - 0.5 * c2) / (1 - c2); + } + return [hsl[0], c2 * 100, f * 100]; + }; + convert.hsv.hcg = function(hsv) { + var s = hsv[1] / 100; + var v = hsv[2] / 100; + var c2 = s * v; + var f = 0; + if (c2 < 1) { + f = (v - c2) / (1 - c2); + } + return [hsv[0], c2 * 100, f * 100]; + }; + convert.hcg.rgb = function(hcg) { + var h = hcg[0] / 360; + var c2 = hcg[1] / 100; + var g = hcg[2] / 100; + if (c2 === 0) { + return [g * 255, g * 255, g * 255]; + } + var pure = [0, 0, 0]; + var hi = h % 1 * 6; + var v = hi % 1; + var w = 1 - v; + var mg = 0; + switch (Math.floor(hi)) { + case 0: + pure[0] = 1; + pure[1] = v; + pure[2] = 0; + break; + case 1: + pure[0] = w; + pure[1] = 1; + pure[2] = 0; + break; + case 2: + pure[0] = 0; + pure[1] = 1; + pure[2] = v; + break; + case 3: + pure[0] = 0; + pure[1] = w; + pure[2] = 1; + break; + case 4: + pure[0] = v; + pure[1] = 0; + pure[2] = 1; + break; + default: + pure[0] = 1; + pure[1] = 0; + pure[2] = w; + } + mg = (1 - c2) * g; + return [ + (c2 * pure[0] + mg) * 255, + (c2 * pure[1] + mg) * 255, + (c2 * pure[2] + mg) * 255 + ]; + }; + convert.hcg.hsv = function(hcg) { + var c2 = hcg[1] / 100; + var g = hcg[2] / 100; + var v = c2 + g * (1 - c2); + var f = 0; + if (v > 0) { + f = c2 / v; + } + return [hcg[0], f * 100, v * 100]; + }; + convert.hcg.hsl = function(hcg) { + var c2 = hcg[1] / 100; + var g = hcg[2] / 100; + var l = g * (1 - c2) + 0.5 * c2; + var s = 0; + if (l > 0 && l < 0.5) { + s = c2 / (2 * l); + } else if (l >= 0.5 && l < 1) { + s = c2 / (2 * (1 - l)); + } + return [hcg[0], s * 100, l * 100]; + }; + convert.hcg.hwb = function(hcg) { + var c2 = hcg[1] / 100; + var g = hcg[2] / 100; + var v = c2 + g * (1 - c2); + return [hcg[0], (v - c2) * 100, (1 - v) * 100]; + }; + convert.hwb.hcg = function(hwb) { + var w = hwb[1] / 100; + var b = hwb[2] / 100; + var v = 1 - b; + var c2 = v - w; + var g = 0; + if (c2 < 1) { + g = (v - c2) / (1 - c2); + } + return [hwb[0], c2 * 100, g * 100]; + }; + convert.apple.rgb = function(apple) { + return [apple[0] / 65535 * 255, apple[1] / 65535 * 255, apple[2] / 65535 * 255]; + }; + convert.rgb.apple = function(rgb) { + return [rgb[0] / 255 * 65535, rgb[1] / 255 * 65535, rgb[2] / 255 * 65535]; + }; + convert.gray.rgb = function(args) { + return [args[0] / 100 * 255, args[0] / 100 * 255, args[0] / 100 * 255]; + }; + convert.gray.hsl = convert.gray.hsv = function(args) { + return [0, 0, args[0]]; + }; + convert.gray.hwb = function(gray) { + return [0, 100, gray[0]]; + }; + convert.gray.cmyk = function(gray) { + return [0, 0, 0, gray[0]]; + }; + convert.gray.lab = function(gray) { + return [gray[0], 0, 0]; + }; + convert.gray.hex = function(gray) { + var val = Math.round(gray[0] / 100 * 255) & 255; + var integer = (val << 16) + (val << 8) + val; + var string = integer.toString(16).toUpperCase(); + return "000000".substring(string.length) + string; + }; + convert.rgb.gray = function(rgb) { + var val = (rgb[0] + rgb[1] + rgb[2]) / 3; + return [val / 255 * 100]; + }; + } +}); + +// node_modules/color-convert/route.js +var require_route = __commonJS({ + "node_modules/color-convert/route.js"(exports, module) { + var conversions = require_conversions(); + function buildGraph() { + var graph = {}; + var models = Object.keys(conversions); + for (var len = models.length, i = 0; i < len; i++) { + graph[models[i]] = { + // http://jsperf.com/1-vs-infinity + // micro-opt, but this is simple. + distance: -1, + parent: null + }; + } + return graph; + } + function deriveBFS(fromModel) { + var graph = buildGraph(); + var queue = [fromModel]; + graph[fromModel].distance = 0; + while (queue.length) { + var current = queue.pop(); + var adjacents = Object.keys(conversions[current]); + for (var len = adjacents.length, i = 0; i < len; i++) { + var adjacent = adjacents[i]; + var node = graph[adjacent]; + if (node.distance === -1) { + node.distance = graph[current].distance + 1; + node.parent = current; + queue.unshift(adjacent); + } } - read2(); - const u = unicodeEscape(); - switch (u) { - case "$": - case "_": - break; - default: - if (!util.isIdStartChar(u)) { - throw invalidIdentifier(); - } - break; + } + return graph; + } + function link(from, to) { + return function(args) { + return to(from(args)); + }; + } + function wrapConversion(toModel, graph) { + var path13 = [graph[toModel].parent, toModel]; + var fn = conversions[graph[toModel].parent][toModel]; + var cur = graph[toModel].parent; + while (graph[cur].parent) { + path13.unshift(graph[cur].parent); + fn = link(conversions[graph[cur].parent][cur], fn); + cur = graph[cur].parent; + } + fn.conversion = path13; + return fn; + } + module.exports = function(fromModel) { + var graph = deriveBFS(fromModel); + var conversion = {}; + var models = Object.keys(graph); + for (var len = models.length, i = 0; i < len; i++) { + var toModel = models[i]; + var node = graph[toModel]; + if (node.parent === null) { + continue; } - buffer += u; - lexState = "identifierName"; - }, - identifierName() { - switch (c) { - case "$": - case "_": - case "\u200C": - case "\u200D": - buffer += read2(); - return; - case "\\": - read2(); - lexState = "identifierNameEscape"; - return; + conversion[toModel] = wrapConversion(toModel, graph); + } + return conversion; + }; + } +}); + +// node_modules/color-convert/index.js +var require_color_convert = __commonJS({ + "node_modules/color-convert/index.js"(exports, module) { + var conversions = require_conversions(); + var route = require_route(); + var convert = {}; + var models = Object.keys(conversions); + function wrapRaw(fn) { + var wrappedFn = function(args) { + if (args === void 0 || args === null) { + return args; } - if (util.isIdContinueChar(c)) { - buffer += read2(); - return; + if (arguments.length > 1) { + args = Array.prototype.slice.call(arguments); } - return newToken("identifier", buffer); - }, - identifierNameEscape() { - if (c !== "u") { - throw invalidChar(read2()); + return fn(args); + }; + if ("conversion" in fn) { + wrappedFn.conversion = fn.conversion; + } + return wrappedFn; + } + function wrapRounded(fn) { + var wrappedFn = function(args) { + if (args === void 0 || args === null) { + return args; } - read2(); - const u = unicodeEscape(); - switch (u) { - case "$": - case "_": - case "\u200C": - case "\u200D": - break; - default: - if (!util.isIdContinueChar(u)) { - throw invalidIdentifier(); - } - break; + if (arguments.length > 1) { + args = Array.prototype.slice.call(arguments); } - buffer += u; - lexState = "identifierName"; - }, - sign() { - switch (c) { - case ".": - buffer = read2(); - lexState = "decimalPointLeading"; - return; - case "0": - buffer = read2(); - lexState = "zero"; - return; - case "1": - case "2": - case "3": - case "4": - case "5": - case "6": - case "7": - case "8": - case "9": - buffer = read2(); - lexState = "decimalInteger"; - return; - case "I": - read2(); - literal("nfinity"); - return newToken("numeric", sign * Infinity); - case "N": - read2(); - literal("aN"); - return newToken("numeric", NaN); + var result = fn(args); + if (typeof result === "object") { + for (var len = result.length, i = 0; i < len; i++) { + result[i] = Math.round(result[i]); + } } - throw invalidChar(read2()); - }, - zero() { - switch (c) { - case ".": - buffer += read2(); - lexState = "decimalPoint"; - return; - case "e": - case "E": - buffer += read2(); - lexState = "decimalExponent"; - return; - case "x": - case "X": - buffer += read2(); - lexState = "hexadecimal"; - return; + return result; + }; + if ("conversion" in fn) { + wrappedFn.conversion = fn.conversion; + } + return wrappedFn; + } + models.forEach(function(fromModel) { + convert[fromModel] = {}; + Object.defineProperty(convert[fromModel], "channels", { value: conversions[fromModel].channels }); + Object.defineProperty(convert[fromModel], "labels", { value: conversions[fromModel].labels }); + var routes = route(fromModel); + var routeModels = Object.keys(routes); + routeModels.forEach(function(toModel) { + var fn = routes[toModel]; + convert[fromModel][toModel] = wrapRounded(fn); + convert[fromModel][toModel].raw = wrapRaw(fn); + }); + }); + module.exports = convert; + } +}); + +// node_modules/@babel/code-frame/node_modules/ansi-styles/index.js +var require_ansi_styles = __commonJS({ + "node_modules/@babel/code-frame/node_modules/ansi-styles/index.js"(exports, module) { + "use strict"; + var colorConvert = require_color_convert(); + var wrapAnsi162 = (fn, offset) => function() { + const code = fn.apply(colorConvert, arguments); + return `\x1B[${code + offset}m`; + }; + var wrapAnsi2562 = (fn, offset) => function() { + const code = fn.apply(colorConvert, arguments); + return `\x1B[${38 + offset};5;${code}m`; + }; + var wrapAnsi16m2 = (fn, offset) => function() { + const rgb = fn.apply(colorConvert, arguments); + return `\x1B[${38 + offset};2;${rgb[0]};${rgb[1]};${rgb[2]}m`; + }; + function assembleStyles2() { + const codes2 = /* @__PURE__ */ new Map(); + const styles3 = { + modifier: { + reset: [0, 0], + // 21 isn't widely supported and 22 does the same thing + bold: [1, 22], + dim: [2, 22], + italic: [3, 23], + underline: [4, 24], + inverse: [7, 27], + hidden: [8, 28], + strikethrough: [9, 29] + }, + color: { + black: [30, 39], + red: [31, 39], + green: [32, 39], + yellow: [33, 39], + blue: [34, 39], + magenta: [35, 39], + cyan: [36, 39], + white: [37, 39], + gray: [90, 39], + // Bright color + redBright: [91, 39], + greenBright: [92, 39], + yellowBright: [93, 39], + blueBright: [94, 39], + magentaBright: [95, 39], + cyanBright: [96, 39], + whiteBright: [97, 39] + }, + bgColor: { + bgBlack: [40, 49], + bgRed: [41, 49], + bgGreen: [42, 49], + bgYellow: [43, 49], + bgBlue: [44, 49], + bgMagenta: [45, 49], + bgCyan: [46, 49], + bgWhite: [47, 49], + // Bright color + bgBlackBright: [100, 49], + bgRedBright: [101, 49], + bgGreenBright: [102, 49], + bgYellowBright: [103, 49], + bgBlueBright: [104, 49], + bgMagentaBright: [105, 49], + bgCyanBright: [106, 49], + bgWhiteBright: [107, 49] } - return newToken("numeric", sign * 0); - }, - decimalInteger() { - switch (c) { - case ".": - buffer += read2(); - lexState = "decimalPoint"; - return; - case "e": - case "E": - buffer += read2(); - lexState = "decimalExponent"; - return; + }; + styles3.color.grey = styles3.color.gray; + for (const groupName of Object.keys(styles3)) { + const group = styles3[groupName]; + for (const styleName of Object.keys(group)) { + const style = group[styleName]; + styles3[styleName] = { + open: `\x1B[${style[0]}m`, + close: `\x1B[${style[1]}m` + }; + group[styleName] = styles3[styleName]; + codes2.set(style[0], style[1]); } - if (util.isDigit(c)) { - buffer += read2(); - return; + Object.defineProperty(styles3, groupName, { + value: group, + enumerable: false + }); + Object.defineProperty(styles3, "codes", { + value: codes2, + enumerable: false + }); + } + const ansi2ansi = (n) => n; + const rgb2rgb = (r, g, b) => [r, g, b]; + styles3.color.close = "\x1B[39m"; + styles3.bgColor.close = "\x1B[49m"; + styles3.color.ansi = { + ansi: wrapAnsi162(ansi2ansi, 0) + }; + styles3.color.ansi256 = { + ansi256: wrapAnsi2562(ansi2ansi, 0) + }; + styles3.color.ansi16m = { + rgb: wrapAnsi16m2(rgb2rgb, 0) + }; + styles3.bgColor.ansi = { + ansi: wrapAnsi162(ansi2ansi, 10) + }; + styles3.bgColor.ansi256 = { + ansi256: wrapAnsi2562(ansi2ansi, 10) + }; + styles3.bgColor.ansi16m = { + rgb: wrapAnsi16m2(rgb2rgb, 10) + }; + for (let key2 of Object.keys(colorConvert)) { + if (typeof colorConvert[key2] !== "object") { + continue; } - return newToken("numeric", sign * Number(buffer)); - }, - decimalPointLeading() { - if (util.isDigit(c)) { - buffer += read2(); - lexState = "decimalFraction"; - return; + const suite = colorConvert[key2]; + if (key2 === "ansi16") { + key2 = "ansi"; } - throw invalidChar(read2()); - }, - decimalPoint() { - switch (c) { - case "e": - case "E": - buffer += read2(); - lexState = "decimalExponent"; - return; + if ("ansi16" in suite) { + styles3.color.ansi[key2] = wrapAnsi162(suite.ansi16, 0); + styles3.bgColor.ansi[key2] = wrapAnsi162(suite.ansi16, 10); } - if (util.isDigit(c)) { - buffer += read2(); - lexState = "decimalFraction"; - return; + if ("ansi256" in suite) { + styles3.color.ansi256[key2] = wrapAnsi2562(suite.ansi256, 0); + styles3.bgColor.ansi256[key2] = wrapAnsi2562(suite.ansi256, 10); } - return newToken("numeric", sign * Number(buffer)); - }, - decimalFraction() { - switch (c) { - case "e": - case "E": - buffer += read2(); - lexState = "decimalExponent"; - return; + if ("rgb" in suite) { + styles3.color.ansi16m[key2] = wrapAnsi16m2(suite.rgb, 0); + styles3.bgColor.ansi16m[key2] = wrapAnsi16m2(suite.rgb, 10); } - if (util.isDigit(c)) { - buffer += read2(); - return; + } + return styles3; + } + Object.defineProperty(module, "exports", { + enumerable: true, + get: assembleStyles2 + }); + } +}); + +// node_modules/@babel/code-frame/node_modules/has-flag/index.js +var require_has_flag = __commonJS({ + "node_modules/@babel/code-frame/node_modules/has-flag/index.js"(exports, module) { + "use strict"; + module.exports = (flag, argv) => { + argv = argv || process.argv; + const prefix = flag.startsWith("-") ? "" : flag.length === 1 ? "-" : "--"; + const pos2 = argv.indexOf(prefix + flag); + const terminatorPos = argv.indexOf("--"); + return pos2 !== -1 && (terminatorPos === -1 ? true : pos2 < terminatorPos); + }; + } +}); + +// node_modules/@babel/code-frame/node_modules/supports-color/index.js +var require_supports_color = __commonJS({ + "node_modules/@babel/code-frame/node_modules/supports-color/index.js"(exports, module) { + "use strict"; + var os2 = __require("os"); + var hasFlag2 = require_has_flag(); + var env2 = process.env; + var forceColor; + if (hasFlag2("no-color") || hasFlag2("no-colors") || hasFlag2("color=false")) { + forceColor = false; + } else if (hasFlag2("color") || hasFlag2("colors") || hasFlag2("color=true") || hasFlag2("color=always")) { + forceColor = true; + } + if ("FORCE_COLOR" in env2) { + forceColor = env2.FORCE_COLOR.length === 0 || parseInt(env2.FORCE_COLOR, 10) !== 0; + } + function translateLevel2(level) { + if (level === 0) { + return false; + } + return { + level, + hasBasic: true, + has256: level >= 2, + has16m: level >= 3 + }; + } + function supportsColor2(stream) { + if (forceColor === false) { + return 0; + } + if (hasFlag2("color=16m") || hasFlag2("color=full") || hasFlag2("color=truecolor")) { + return 3; + } + if (hasFlag2("color=256")) { + return 2; + } + if (stream && !stream.isTTY && forceColor !== true) { + return 0; + } + const min = forceColor ? 1 : 0; + if (process.platform === "win32") { + const osRelease = os2.release().split("."); + if (Number(process.versions.node.split(".")[0]) >= 8 && Number(osRelease[0]) >= 10 && Number(osRelease[2]) >= 10586) { + return Number(osRelease[2]) >= 14931 ? 3 : 2; } - return newToken("numeric", sign * Number(buffer)); - }, - decimalExponent() { - switch (c) { - case "+": - case "-": - buffer += read2(); - lexState = "decimalExponentSign"; - return; + return 1; + } + if ("CI" in env2) { + if (["TRAVIS", "CIRCLECI", "APPVEYOR", "GITLAB_CI"].some((sign2) => sign2 in env2) || env2.CI_NAME === "codeship") { + return 1; } - if (util.isDigit(c)) { - buffer += read2(); - lexState = "decimalExponentInteger"; - return; + return min; + } + if ("TEAMCITY_VERSION" in env2) { + return /^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(env2.TEAMCITY_VERSION) ? 1 : 0; + } + if (env2.COLORTERM === "truecolor") { + return 3; + } + if ("TERM_PROGRAM" in env2) { + const version = parseInt((env2.TERM_PROGRAM_VERSION || "").split(".")[0], 10); + switch (env2.TERM_PROGRAM) { + case "iTerm.app": + return version >= 3 ? 3 : 2; + case "Apple_Terminal": + return 2; } - throw invalidChar(read2()); - }, - decimalExponentSign() { - if (util.isDigit(c)) { - buffer += read2(); - lexState = "decimalExponentInteger"; - return; - } - throw invalidChar(read2()); - }, - decimalExponentInteger() { - if (util.isDigit(c)) { - buffer += read2(); - return; - } - return newToken("numeric", sign * Number(buffer)); - }, - hexadecimal() { - if (util.isHexDigit(c)) { - buffer += read2(); - lexState = "hexadecimalInteger"; - return; - } - throw invalidChar(read2()); - }, - hexadecimalInteger() { - if (util.isHexDigit(c)) { - buffer += read2(); - return; - } - return newToken("numeric", sign * Number(buffer)); - }, - string() { - switch (c) { - case "\\": - read2(); - buffer += escape(); - return; - case '"': - if (doubleQuote) { - read2(); - return newToken("string", buffer); - } - buffer += read2(); - return; - case "'": - if (!doubleQuote) { - read2(); - return newToken("string", buffer); - } - buffer += read2(); - return; - case "\n": - case "\r": - throw invalidChar(read2()); - case "\u2028": - case "\u2029": - separatorChar(c); - break; - case void 0: - throw invalidChar(read2()); - } - buffer += read2(); - }, - start() { - switch (c) { - case "{": - case "[": - return newToken("punctuator", read2()); - } - lexState = "value"; - }, - beforePropertyName() { - switch (c) { - case "$": - case "_": - buffer = read2(); - lexState = "identifierName"; - return; - case "\\": - read2(); - lexState = "identifierNameStartEscape"; - return; - case "}": - return newToken("punctuator", read2()); - case '"': - case "'": - doubleQuote = read2() === '"'; - lexState = "string"; - return; - } - if (util.isIdStartChar(c)) { - buffer += read2(); - lexState = "identifierName"; - return; - } - throw invalidChar(read2()); - }, - afterPropertyName() { - if (c === ":") { - return newToken("punctuator", read2()); - } - throw invalidChar(read2()); - }, - beforePropertyValue() { - lexState = "value"; - }, - afterPropertyValue() { - switch (c) { - case ",": - case "}": - return newToken("punctuator", read2()); - } - throw invalidChar(read2()); - }, - beforeArrayValue() { - if (c === "]") { - return newToken("punctuator", read2()); - } - lexState = "value"; - }, - afterArrayValue() { - switch (c) { - case ",": - case "]": - return newToken("punctuator", read2()); - } - throw invalidChar(read2()); - }, - end() { - throw invalidChar(read2()); } + if (/-256(color)?$/i.test(env2.TERM)) { + return 2; + } + if (/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(env2.TERM)) { + return 1; + } + if ("COLORTERM" in env2) { + return 1; + } + if (env2.TERM === "dumb") { + return min; + } + return min; + } + function getSupportLevel(stream) { + const level = supportsColor2(stream); + return translateLevel2(level); + } + module.exports = { + supportsColor: getSupportLevel, + stdout: getSupportLevel(process.stdout), + stderr: getSupportLevel(process.stderr) }; - function newToken(type, value) { - return { - type, - value, - line: line2, - column - }; + } +}); + +// node_modules/@babel/code-frame/node_modules/chalk/templates.js +var require_templates = __commonJS({ + "node_modules/@babel/code-frame/node_modules/chalk/templates.js"(exports, module) { + "use strict"; + var TEMPLATE_REGEX = /(?:\\(u[a-f\d]{4}|x[a-f\d]{2}|.))|(?:\{(~)?(\w+(?:\([^)]*\))?(?:\.\w+(?:\([^)]*\))?)*)(?:[ \t]|(?=\r?\n)))|(\})|((?:.|[\r\n\f])+?)/gi; + var STYLE_REGEX = /(?:^|\.)(\w+)(?:\(([^)]*)\))?/g; + var STRING_REGEX = /^(['"])((?:\\.|(?!\1)[^\\])*)\1$/; + var ESCAPE_REGEX = /\\(u[a-f\d]{4}|x[a-f\d]{2}|.)|([^\\])/gi; + var ESCAPES = /* @__PURE__ */ new Map([ + ["n", "\n"], + ["r", "\r"], + ["t", " "], + ["b", "\b"], + ["f", "\f"], + ["v", "\v"], + ["0", "\0"], + ["\\", "\\"], + ["e", "\x1B"], + ["a", "\x07"] + ]); + function unescape(c2) { + if (c2[0] === "u" && c2.length === 5 || c2[0] === "x" && c2.length === 3) { + return String.fromCharCode(parseInt(c2.slice(1), 16)); + } + return ESCAPES.get(c2) || c2; } - function literal(s) { - for (const c2 of s) { - const p = peek(); - if (p !== c2) { - throw invalidChar(read2()); + function parseArguments(name, args) { + const results = []; + const chunks = args.trim().split(/\s*,\s*/g); + let matches; + for (const chunk of chunks) { + if (!isNaN(chunk)) { + results.push(Number(chunk)); + } else if (matches = chunk.match(STRING_REGEX)) { + results.push(matches[2].replace(ESCAPE_REGEX, (m, escape2, chr) => escape2 ? unescape(escape2) : chr)); + } else { + throw new Error(`Invalid Chalk template style argument: ${chunk} (in style '${name}')`); } - read2(); } + return results; } - function escape() { - const c2 = peek(); - switch (c2) { - case "b": - read2(); - return "\b"; - case "f": - read2(); - return "\f"; - case "n": - read2(); - return "\n"; - case "r": - read2(); - return "\r"; - case "t": - read2(); - return " "; - case "v": - read2(); - return "\v"; - case "0": - read2(); - if (util.isDigit(peek())) { - throw invalidChar(read2()); + function parseStyle(style) { + STYLE_REGEX.lastIndex = 0; + const results = []; + let matches; + while ((matches = STYLE_REGEX.exec(style)) !== null) { + const name = matches[1]; + if (matches[2]) { + const args = parseArguments(name, matches[2]); + results.push([name].concat(args)); + } else { + results.push([name]); + } + } + return results; + } + function buildStyle(chalk2, styles3) { + const enabled = {}; + for (const layer of styles3) { + for (const style of layer.styles) { + enabled[style[0]] = layer.inverse ? null : style.slice(1); + } + } + let current = chalk2; + for (const styleName of Object.keys(enabled)) { + if (Array.isArray(enabled[styleName])) { + if (!(styleName in current)) { + throw new Error(`Unknown Chalk style: ${styleName}`); } - return "\0"; - case "x": - read2(); - return hexEscape(); - case "u": - read2(); - return unicodeEscape(); - case "\n": - case "\u2028": - case "\u2029": - read2(); - return ""; - case "\r": - read2(); - if (peek() === "\n") { - read2(); + if (enabled[styleName].length > 0) { + current = current[styleName].apply(current, enabled[styleName]); + } else { + current = current[styleName]; } - return ""; - case "1": - case "2": - case "3": - case "4": - case "5": - case "6": - case "7": - case "8": - case "9": - throw invalidChar(read2()); - case void 0: - throw invalidChar(read2()); + } } - return read2(); + return current; } - function hexEscape() { - let buffer2 = ""; - let c2 = peek(); - if (!util.isHexDigit(c2)) { - throw invalidChar(read2()); + module.exports = (chalk2, tmp) => { + const styles3 = []; + const chunks = []; + let chunk = []; + tmp.replace(TEMPLATE_REGEX, (m, escapeChar, inverse, style, close, chr) => { + if (escapeChar) { + chunk.push(unescape(escapeChar)); + } else if (style) { + const str2 = chunk.join(""); + chunk = []; + chunks.push(styles3.length === 0 ? str2 : buildStyle(chalk2, styles3)(str2)); + styles3.push({ inverse, styles: parseStyle(style) }); + } else if (close) { + if (styles3.length === 0) { + throw new Error("Found extraneous } in Chalk template literal"); + } + chunks.push(buildStyle(chalk2, styles3)(chunk.join(""))); + chunk = []; + styles3.pop(); + } else { + chunk.push(chr); + } + }); + chunks.push(chunk.join("")); + if (styles3.length > 0) { + const errMsg = `Chalk template literal is missing ${styles3.length} closing bracket${styles3.length === 1 ? "" : "s"} (\`}\`)`; + throw new Error(errMsg); } - buffer2 += read2(); - c2 = peek(); - if (!util.isHexDigit(c2)) { - throw invalidChar(read2()); + return chunks.join(""); + }; + } +}); + +// node_modules/@babel/code-frame/node_modules/chalk/index.js +var require_chalk = __commonJS({ + "node_modules/@babel/code-frame/node_modules/chalk/index.js"(exports, module) { + "use strict"; + var escapeStringRegexp2 = require_escape_string_regexp(); + var ansiStyles2 = require_ansi_styles(); + var stdoutColor2 = require_supports_color().stdout; + var template = require_templates(); + var isSimpleWindowsTerm = process.platform === "win32" && !(process.env.TERM || "").toLowerCase().startsWith("xterm"); + var levelMapping2 = ["ansi", "ansi", "ansi256", "ansi16m"]; + var skipModels = /* @__PURE__ */ new Set(["gray"]); + var styles3 = /* @__PURE__ */ Object.create(null); + function applyOptions2(obj, options8) { + options8 = options8 || {}; + const scLevel = stdoutColor2 ? stdoutColor2.level : 0; + obj.level = options8.level === void 0 ? scLevel : options8.level; + obj.enabled = "enabled" in options8 ? options8.enabled : obj.level > 0; + } + function Chalk(options8) { + if (!this || !(this instanceof Chalk) || this.template) { + const chalk2 = {}; + applyOptions2(chalk2, options8); + chalk2.template = function() { + const args = [].slice.call(arguments); + return chalkTag.apply(null, [chalk2.template].concat(args)); + }; + Object.setPrototypeOf(chalk2, Chalk.prototype); + Object.setPrototypeOf(chalk2.template, chalk2); + chalk2.template.constructor = Chalk; + return chalk2.template; } - buffer2 += read2(); - return String.fromCodePoint(parseInt(buffer2, 16)); + applyOptions2(this, options8); } - function unicodeEscape() { - let buffer2 = ""; - let count = 4; - while (count-- > 0) { - const c2 = peek(); - if (!util.isHexDigit(c2)) { - throw invalidChar(read2()); + if (isSimpleWindowsTerm) { + ansiStyles2.blue.open = "\x1B[94m"; + } + for (const key2 of Object.keys(ansiStyles2)) { + ansiStyles2[key2].closeRe = new RegExp(escapeStringRegexp2(ansiStyles2[key2].close), "g"); + styles3[key2] = { + get() { + const codes2 = ansiStyles2[key2]; + return build.call(this, this._styles ? this._styles.concat(codes2) : [codes2], this._empty, key2); } - buffer2 += read2(); + }; + } + styles3.visible = { + get() { + return build.call(this, this._styles || [], true, "visible"); } - return String.fromCodePoint(parseInt(buffer2, 16)); + }; + ansiStyles2.color.closeRe = new RegExp(escapeStringRegexp2(ansiStyles2.color.close), "g"); + for (const model of Object.keys(ansiStyles2.color.ansi)) { + if (skipModels.has(model)) { + continue; + } + styles3[model] = { + get() { + const level = this.level; + return function() { + const open = ansiStyles2.color[levelMapping2[level]][model].apply(null, arguments); + const codes2 = { + open, + close: ansiStyles2.color.close, + closeRe: ansiStyles2.color.closeRe + }; + return build.call(this, this._styles ? this._styles.concat(codes2) : [codes2], this._empty, model); + }; + } + }; } - var parseStates = { - start() { - if (token.type === "eof") { - throw invalidEOF(); + ansiStyles2.bgColor.closeRe = new RegExp(escapeStringRegexp2(ansiStyles2.bgColor.close), "g"); + for (const model of Object.keys(ansiStyles2.bgColor.ansi)) { + if (skipModels.has(model)) { + continue; + } + const bgModel = "bg" + model[0].toUpperCase() + model.slice(1); + styles3[bgModel] = { + get() { + const level = this.level; + return function() { + const open = ansiStyles2.bgColor[levelMapping2[level]][model].apply(null, arguments); + const codes2 = { + open, + close: ansiStyles2.bgColor.close, + closeRe: ansiStyles2.bgColor.closeRe + }; + return build.call(this, this._styles ? this._styles.concat(codes2) : [codes2], this._empty, model); + }; } - push(); - }, - beforePropertyName() { - switch (token.type) { - case "identifier": - case "string": - key = token.value; - parseState = "afterPropertyName"; - return; - case "punctuator": - pop(); - return; - case "eof": - throw invalidEOF(); + }; + } + var proto2 = Object.defineProperties(() => { + }, styles3); + function build(_styles, _empty, key2) { + const builder = function() { + return applyStyle2.apply(builder, arguments); + }; + builder._styles = _styles; + builder._empty = _empty; + const self = this; + Object.defineProperty(builder, "level", { + enumerable: true, + get() { + return self.level; + }, + set(level) { + self.level = level; } - }, - afterPropertyName() { - if (token.type === "eof") { - throw invalidEOF(); + }); + Object.defineProperty(builder, "enabled", { + enumerable: true, + get() { + return self.enabled; + }, + set(enabled) { + self.enabled = enabled; } - parseState = "beforePropertyValue"; - }, - beforePropertyValue() { - if (token.type === "eof") { - throw invalidEOF(); + }); + builder.hasGrey = this.hasGrey || key2 === "gray" || key2 === "grey"; + builder.__proto__ = proto2; + return builder; + } + function applyStyle2() { + const args = arguments; + const argsLen = args.length; + let str2 = String(arguments[0]); + if (argsLen === 0) { + return ""; + } + if (argsLen > 1) { + for (let a = 1; a < argsLen; a++) { + str2 += " " + args[a]; } - push(); - }, - beforeArrayValue() { - if (token.type === "eof") { - throw invalidEOF(); + } + if (!this.enabled || this.level <= 0 || !str2) { + return this._empty ? "" : str2; + } + const originalDim = ansiStyles2.dim.open; + if (isSimpleWindowsTerm && this.hasGrey) { + ansiStyles2.dim.open = ""; + } + for (const code of this._styles.slice().reverse()) { + str2 = code.open + str2.replace(code.closeRe, code.open) + code.close; + str2 = str2.replace(/\r?\n/g, `${code.close}$&${code.open}`); + } + ansiStyles2.dim.open = originalDim; + return str2; + } + function chalkTag(chalk2, strings) { + if (!Array.isArray(strings)) { + return [].slice.call(arguments, 1).join(" "); + } + const args = [].slice.call(arguments, 2); + const parts = [strings.raw[0]]; + for (let i = 1; i < strings.length; i++) { + parts.push(String(args[i - 1]).replace(/[{}\\]/g, "\\$&")); + parts.push(String(strings.raw[i])); + } + return template(chalk2, parts.join("")); + } + Object.defineProperties(Chalk.prototype, styles3); + module.exports = Chalk(); + module.exports.supportsColor = stdoutColor2; + module.exports.default = module.exports; + } +}); + +// node_modules/@babel/highlight/lib/index.js +var require_lib2 = __commonJS({ + "node_modules/@babel/highlight/lib/index.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.default = highlight; + exports.shouldHighlight = shouldHighlight; + var _jsTokens = require_js_tokens(); + var _helperValidatorIdentifier = require_lib(); + var _chalk = _interopRequireWildcard(require_chalk(), true); + function _getRequireWildcardCache(e) { + if ("function" != typeof WeakMap) + return null; + var r = /* @__PURE__ */ new WeakMap(), t = /* @__PURE__ */ new WeakMap(); + return (_getRequireWildcardCache = function(e2) { + return e2 ? t : r; + })(e); + } + function _interopRequireWildcard(e, r) { + if (!r && e && e.__esModule) + return e; + if (null === e || "object" != typeof e && "function" != typeof e) + return { default: e }; + var t = _getRequireWildcardCache(r); + if (t && t.has(e)) + return t.get(e); + var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; + for (var u in e) + if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { + var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; + i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } - if (token.type === "punctuator" && token.value === "]") { - pop(); - return; + return n.default = e, t && t.set(e, n), n; + } + var sometimesKeywords = /* @__PURE__ */ new Set(["as", "async", "from", "get", "of", "set"]); + function getDefs(chalk2) { + return { + keyword: chalk2.cyan, + capitalized: chalk2.yellow, + jsxIdentifier: chalk2.yellow, + punctuator: chalk2.yellow, + number: chalk2.magenta, + string: chalk2.green, + regex: chalk2.magenta, + comment: chalk2.grey, + invalid: chalk2.white.bgRed.bold + }; + } + var NEWLINE = /\r\n|[\n\r\u2028\u2029]/; + var BRACKET = /^[()[\]{}]$/; + var tokenize; + { + const JSX_TAG = /^[a-z][\w-]*$/i; + const getTokenType = function(token2, offset, text) { + if (token2.type === "name") { + if ((0, _helperValidatorIdentifier.isKeyword)(token2.value) || (0, _helperValidatorIdentifier.isStrictReservedWord)(token2.value, true) || sometimesKeywords.has(token2.value)) { + return "keyword"; + } + if (JSX_TAG.test(token2.value) && (text[offset - 1] === "<" || text.slice(offset - 2, offset) == "</")) { + return "jsxIdentifier"; + } + if (token2.value[0] !== token2.value[0].toLowerCase()) { + return "capitalized"; + } } - push(); - }, - afterPropertyValue() { - if (token.type === "eof") { - throw invalidEOF(); + if (token2.type === "punctuator" && BRACKET.test(token2.value)) { + return "bracket"; } - switch (token.value) { - case ",": - parseState = "beforePropertyName"; - return; - case "}": - pop(); + if (token2.type === "invalid" && (token2.value === "@" || token2.value === "#")) { + return "punctuator"; } - }, - afterArrayValue() { - if (token.type === "eof") { - throw invalidEOF(); + return token2.type; + }; + tokenize = function* (text) { + let match; + while (match = _jsTokens.default.exec(text)) { + const token2 = _jsTokens.matchToToken(match); + yield { + type: getTokenType(token2, match.index, text), + value: token2.value + }; } - switch (token.value) { - case ",": - parseState = "beforeArrayValue"; - return; - case "]": - pop(); + }; + } + function highlightTokens(defs, text) { + let highlighted = ""; + for (const { + type: type2, + value + } of tokenize(text)) { + const colorize = defs[type2]; + if (colorize) { + highlighted += value.split(NEWLINE).map((str2) => colorize(str2)).join("\n"); + } else { + highlighted += value; } - }, - end() { } - }; - function push() { - let value; - switch (token.type) { - case "punctuator": - switch (token.value) { - case "{": - value = {}; - break; - case "[": - value = []; - break; - } - break; - case "null": - case "boolean": - case "numeric": - case "string": - value = token.value; - break; + return highlighted; + } + function shouldHighlight(options8) { + return _chalk.default.level > 0 || options8.forceColor; + } + var chalkWithForcedColor = void 0; + function getChalk(forceColor) { + if (forceColor) { + var _chalkWithForcedColor; + (_chalkWithForcedColor = chalkWithForcedColor) != null ? _chalkWithForcedColor : chalkWithForcedColor = new _chalk.default.constructor({ + enabled: true, + level: 1 + }); + return chalkWithForcedColor; } - if (root === void 0) { - root = value; + return _chalk.default; + } + { + exports.getChalk = (options8) => getChalk(options8.forceColor); + } + function highlight(code, options8 = {}) { + if (code !== "" && shouldHighlight(options8)) { + const defs = getDefs(getChalk(options8.forceColor)); + return highlightTokens(defs, code); } else { - const parent = stack[stack.length - 1]; - if (Array.isArray(parent)) { - parent.push(value); - } else { - Object.defineProperty(parent, key, { - value, - writable: true, - enumerable: true, - configurable: true - }); + return code; + } + } + } +}); + +// node_modules/@babel/code-frame/lib/index.js +var require_lib3 = __commonJS({ + "node_modules/@babel/code-frame/lib/index.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.codeFrameColumns = codeFrameColumns3; + exports.default = _default2; + var _highlight = require_lib2(); + var _chalk = _interopRequireWildcard(require_chalk(), true); + function _getRequireWildcardCache(e) { + if ("function" != typeof WeakMap) + return null; + var r = /* @__PURE__ */ new WeakMap(), t = /* @__PURE__ */ new WeakMap(); + return (_getRequireWildcardCache = function(e2) { + return e2 ? t : r; + })(e); + } + function _interopRequireWildcard(e, r) { + if (!r && e && e.__esModule) + return e; + if (null === e || "object" != typeof e && "function" != typeof e) + return { default: e }; + var t = _getRequireWildcardCache(r); + if (t && t.has(e)) + return t.get(e); + var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; + for (var u in e) + if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { + var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; + i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } + return n.default = e, t && t.set(e, n), n; + } + var chalkWithForcedColor = void 0; + function getChalk(forceColor) { + if (forceColor) { + var _chalkWithForcedColor; + (_chalkWithForcedColor = chalkWithForcedColor) != null ? _chalkWithForcedColor : chalkWithForcedColor = new _chalk.default.constructor({ + enabled: true, + level: 1 + }); + return chalkWithForcedColor; } - if (value !== null && typeof value === "object") { - stack.push(value); - if (Array.isArray(value)) { - parseState = "beforeArrayValue"; - } else { - parseState = "beforePropertyName"; + return _chalk.default; + } + var deprecationWarningShown = false; + function getDefs(chalk2) { + return { + gutter: chalk2.grey, + marker: chalk2.red.bold, + message: chalk2.red.bold + }; + } + var NEWLINE = /\r\n|[\n\r\u2028\u2029]/; + function getMarkerLines(loc, source2, opts) { + const startLoc = Object.assign({ + column: 0, + line: -1 + }, loc.start); + const endLoc = Object.assign({}, startLoc, loc.end); + const { + linesAbove = 2, + linesBelow = 3 + } = opts || {}; + const startLine = startLoc.line; + const startColumn = startLoc.column; + const endLine = endLoc.line; + const endColumn = endLoc.column; + let start = Math.max(startLine - (linesAbove + 1), 0); + let end = Math.min(source2.length, endLine + linesBelow); + if (startLine === -1) { + start = 0; + } + if (endLine === -1) { + end = source2.length; + } + const lineDiff = endLine - startLine; + const markerLines = {}; + if (lineDiff) { + for (let i = 0; i <= lineDiff; i++) { + const lineNumber = i + startLine; + if (!startColumn) { + markerLines[lineNumber] = true; + } else if (i === 0) { + const sourceLength = source2[lineNumber - 1].length; + markerLines[lineNumber] = [startColumn, sourceLength - startColumn + 1]; + } else if (i === lineDiff) { + markerLines[lineNumber] = [0, endColumn]; + } else { + const sourceLength = source2[lineNumber - i].length; + markerLines[lineNumber] = [0, sourceLength]; + } } } else { - const current = stack[stack.length - 1]; - if (current == null) { - parseState = "end"; - } else if (Array.isArray(current)) { - parseState = "afterArrayValue"; + if (startColumn === endColumn) { + if (startColumn) { + markerLines[startLine] = [startColumn, 0]; + } else { + markerLines[startLine] = true; + } } else { - parseState = "afterPropertyValue"; + markerLines[startLine] = [startColumn, endColumn - startColumn]; } } + return { + start, + end, + markerLines + }; } - function pop() { - stack.pop(); - const current = stack[stack.length - 1]; - if (current == null) { - parseState = "end"; - } else if (Array.isArray(current)) { - parseState = "afterArrayValue"; + function codeFrameColumns3(rawLines, loc, opts = {}) { + const highlighted = (opts.highlightCode || opts.forceColor) && (0, _highlight.shouldHighlight)(opts); + const chalk2 = getChalk(opts.forceColor); + const defs = getDefs(chalk2); + const maybeHighlight = (chalkFn, string) => { + return highlighted ? chalkFn(string) : string; + }; + const lines = rawLines.split(NEWLINE); + const { + start, + end, + markerLines + } = getMarkerLines(loc, lines, opts); + const hasColumns = loc.start && typeof loc.start.column === "number"; + const numberMaxWidth = String(end).length; + const highlightedLines = highlighted ? (0, _highlight.default)(rawLines, opts) : rawLines; + let frame = highlightedLines.split(NEWLINE, end).slice(start, end).map((line3, index) => { + const number = start + 1 + index; + const paddedNumber = ` ${number}`.slice(-numberMaxWidth); + const gutter = ` ${paddedNumber} |`; + const hasMarker = markerLines[number]; + const lastMarkerLine = !markerLines[number + 1]; + if (hasMarker) { + let markerLine = ""; + if (Array.isArray(hasMarker)) { + const markerSpacing = line3.slice(0, Math.max(hasMarker[0] - 1, 0)).replace(/[^\t]/g, " "); + const numberOfMarkers = hasMarker[1] || 1; + markerLine = ["\n ", maybeHighlight(defs.gutter, gutter.replace(/\d/g, " ")), " ", markerSpacing, maybeHighlight(defs.marker, "^").repeat(numberOfMarkers)].join(""); + if (lastMarkerLine && opts.message) { + markerLine += " " + maybeHighlight(defs.message, opts.message); + } + } + return [maybeHighlight(defs.marker, ">"), maybeHighlight(defs.gutter, gutter), line3.length > 0 ? ` ${line3}` : "", markerLine].join(""); + } else { + return ` ${maybeHighlight(defs.gutter, gutter)}${line3.length > 0 ? ` ${line3}` : ""}`; + } + }).join("\n"); + if (opts.message && !hasColumns) { + frame = `${" ".repeat(numberMaxWidth + 1)}${opts.message} +${frame}`; + } + if (highlighted) { + return chalk2.reset(frame); } else { - parseState = "afterPropertyValue"; + return frame; } } - function invalidChar(c2) { - if (c2 === void 0) { - return syntaxError(`JSON5: invalid end of input at ${line2}:${column}`); + function _default2(rawLines, lineNumber, colNumber, opts = {}) { + if (!deprecationWarningShown) { + deprecationWarningShown = true; + const message = "Passing lineNumber and colNumber is deprecated to @babel/code-frame. Please use `codeFrameColumns`."; + if (process.emitWarning) { + process.emitWarning(message, "DeprecationWarning"); + } else { + const deprecationError = new Error(message); + deprecationError.name = "DeprecationWarning"; + console.warn(new Error(message)); + } } - return syntaxError(`JSON5: invalid character '${formatChar(c2)}' at ${line2}:${column}`); - } - function invalidEOF() { - return syntaxError(`JSON5: invalid end of input at ${line2}:${column}`); - } - function invalidIdentifier() { - column -= 5; - return syntaxError(`JSON5: invalid identifier character at ${line2}:${column}`); - } - function separatorChar(c2) { - console.warn(`JSON5: '${formatChar(c2)}' in strings is not valid ECMAScript; consider escaping`); - } - function formatChar(c2) { - const replacements = { - "'": "\\'", - '"': '\\"', - "\\": "\\\\", - "\b": "\\b", - "\f": "\\f", - "\n": "\\n", - "\r": "\\r", - " ": "\\t", - "\v": "\\v", - "\0": "\\0", - "\u2028": "\\u2028", - "\u2029": "\\u2029" + colNumber = Math.max(colNumber, 0); + const location = { + start: { + column: colNumber, + line: lineNumber + } }; - if (replacements[c2]) { - return replacements[c2]; - } - if (c2 < " ") { - const hexString = c2.charCodeAt(0).toString(16); - return "\\x" + ("00" + hexString).substring(hexString.length); - } - return c2; + return codeFrameColumns3(rawLines, location, opts); } - function syntaxError(message) { - const err = new SyntaxError(message); - err.lineNumber = line2; - err.columnNumber = column; - return err; - } } }); // node_modules/ignore/index.js var require_ignore = __commonJS({ @@ -13146,11 +12184,11 @@ var TMP_KEY_IGNORE = "node-ignore"; if (typeof Symbol !== "undefined") { TMP_KEY_IGNORE = Symbol.for("node-ignore"); } var KEY_IGNORE = TMP_KEY_IGNORE; - var define = (object, key, value) => Object.defineProperty(object, key, { value }); + var define = (object, key2, value) => Object.defineProperty(object, key2, { value }); var REGEX_REGEXP_RANGE = /([0-z])-([0-z])/g; var RETURN_FALSE = () => false; var sanitizeRange = (range) => range.replace( REGEX_REGEXP_RANGE, (match, from, to) => from.charCodeAt(0) <= to.charCodeAt(0) ? match : EMPTY @@ -13237,11 +12275,11 @@ // Use lookahead assertions so that we could match more than one `'/**'` /\\\/\\\*\\\*(?=\\\/|$)/g, // Zero, one or several directories // should not use '*', or it will be replaced by the next replacer // Check if it is not the last `'/**'` - (_, index, str) => index + 6 < str.length ? "(?:\\/[^\\/]+)*" : "\\/.+" + (_, index, str2) => index + 6 < str2.length ? "(?:\\/[^\\/]+)*" : "\\/.+" ], // normal intermediate wildcards [ // Never replace escaped '*' // ignore rule '\*' will match the path '*' @@ -13301,19 +12339,19 @@ } ] ]; var regexCache = /* @__PURE__ */ Object.create(null); var makeRegex = (pattern, ignoreCase) => { - let source = regexCache[pattern]; - if (!source) { - source = REPLACERS.reduce( + let source2 = regexCache[pattern]; + if (!source2) { + source2 = REPLACERS.reduce( (prev, current) => prev.replace(current[0], current[1].bind(pattern)), pattern ); - regexCache[pattern] = source; + regexCache[pattern] = source2; } - return ignoreCase ? new RegExp(source, "i") : new RegExp(source); + return ignoreCase ? new RegExp(source2, "i") : new RegExp(source2); }; var isString = (subject) => typeof subject === "string"; var checkPattern = (pattern) => pattern && isString(pattern) && !REGEX_TEST_BLANK_LINE.test(pattern) && !REGEX_INVALID_TRAILING_BACKSLASH.test(pattern) && pattern.indexOf("#") !== 0; var splitPattern = (pattern) => pattern.split(REGEX_SPLITALL_CRLF); var IgnoreRule = class { @@ -13338,33 +12376,33 @@ pattern, negative, regex ); }; - var throwError = (message, Ctor) => { + var throwError2 = (message, Ctor) => { throw new Ctor(message); }; - var checkPath = (path9, originalPath, doThrow) => { - if (!isString(path9)) { + var checkPath = (path13, originalPath, doThrow) => { + if (!isString(path13)) { return doThrow( `path must be a string, but got \`${originalPath}\``, TypeError ); } - if (!path9) { + if (!path13) { return doThrow(`path must not be empty`, TypeError); } - if (checkPath.isNotRelative(path9)) { + if (checkPath.isNotRelative(path13)) { const r = "`path.relative()`d"; return doThrow( `path should be a ${r} string, but got "${originalPath}"`, RangeError ); } return true; }; - var isNotRelative = (path9) => REGEX_TEST_INVALID_PATH.test(path9); + var isNotRelative = (path13) => REGEX_TEST_INVALID_PATH.test(path13); checkPath.isNotRelative = isNotRelative; checkPath.convert = (p) => p; var Ignore = class { constructor({ ignorecase = true, @@ -13419,19 +12457,19 @@ // - X: that never happen // @param {boolean} whether should check if the path is unignored, // setting `checkUnignored` to `false` could reduce additional // path matching. // @returns {TestResult} true if a file is ignored - _testOne(path9, checkUnignored) { + _testOne(path13, checkUnignored) { let ignored = false; let unignored = false; this._rules.forEach((rule) => { const { negative } = rule; if (unignored === negative && ignored !== unignored || negative && !ignored && !unignored && !checkUnignored) { return; } - const matched = rule.regex.test(path9); + const matched = rule.regex.test(path13); if (matched) { ignored = !negative; unignored = negative; } }); @@ -13439,69 +12477,445 @@ ignored, unignored }; } // @returns {TestResult} - _test(originalPath, cache, checkUnignored, slices) { - const path9 = originalPath && checkPath.convert(originalPath); + _test(originalPath, cache3, checkUnignored, slices) { + const path13 = originalPath && checkPath.convert(originalPath); checkPath( - path9, + path13, originalPath, - this._allowRelativePaths ? RETURN_FALSE : throwError + this._allowRelativePaths ? RETURN_FALSE : throwError2 ); - return this._t(path9, cache, checkUnignored, slices); + return this._t(path13, cache3, checkUnignored, slices); } - _t(path9, cache, checkUnignored, slices) { - if (path9 in cache) { - return cache[path9]; + _t(path13, cache3, checkUnignored, slices) { + if (path13 in cache3) { + return cache3[path13]; } if (!slices) { - slices = path9.split(SLASH); + slices = path13.split(SLASH); } slices.pop(); if (!slices.length) { - return cache[path9] = this._testOne(path9, checkUnignored); + return cache3[path13] = this._testOne(path13, checkUnignored); } const parent = this._t( slices.join(SLASH) + SLASH, - cache, + cache3, checkUnignored, slices ); - return cache[path9] = parent.ignored ? parent : this._testOne(path9, checkUnignored); + return cache3[path13] = parent.ignored ? parent : this._testOne(path13, checkUnignored); } - ignores(path9) { - return this._test(path9, this._ignoreCache, false).ignored; + ignores(path13) { + return this._test(path13, this._ignoreCache, false).ignored; } createFilter() { - return (path9) => !this.ignores(path9); + return (path13) => !this.ignores(path13); } filter(paths) { return makeArray(paths).filter(this.createFilter()); } // @returns {TestResult} - test(path9) { - return this._test(path9, this._testCache, true); + test(path13) { + return this._test(path13, this._testCache, true); } }; var factory = (options8) => new Ignore(options8); - var isPathValid = (path9) => checkPath(path9 && checkPath.convert(path9), path9, RETURN_FALSE); + var isPathValid = (path13) => checkPath(path13 && checkPath.convert(path13), path13, RETURN_FALSE); factory.isPathValid = isPathValid; factory.default = factory; module.exports = factory; if ( // Detect `process` so that it can run in browsers. typeof process !== "undefined" && (process.env && process.env.IGNORE_TEST_WIN32 || process.platform === "win32") ) { - const makePosix = (str) => /^\\\\\?\\/.test(str) || /["<>|\u0000-\u001F]+/u.test(str) ? str : str.replace(/\\/g, "/"); + const makePosix = (str2) => /^\\\\\?\\/.test(str2) || /["<>|\u0000-\u001F]+/u.test(str2) ? str2 : str2.replace(/\\/g, "/"); checkPath.convert = makePosix; const REGIX_IS_WINDOWS_PATH_ABSOLUTE = /^[a-z]:\//i; - checkPath.isNotRelative = (path9) => REGIX_IS_WINDOWS_PATH_ABSOLUTE.test(path9) || isNotRelative(path9); + checkPath.isNotRelative = (path13) => REGIX_IS_WINDOWS_PATH_ABSOLUTE.test(path13) || isNotRelative(path13); } } }); +// node_modules/n-readlines/readlines.js +var require_readlines = __commonJS({ + "node_modules/n-readlines/readlines.js"(exports, module) { + "use strict"; + var fs7 = __require("fs"); + var LineByLine = class { + constructor(file, options8) { + options8 = options8 || {}; + if (!options8.readChunk) + options8.readChunk = 1024; + if (!options8.newLineCharacter) { + options8.newLineCharacter = 10; + } else { + options8.newLineCharacter = options8.newLineCharacter.charCodeAt(0); + } + if (typeof file === "number") { + this.fd = file; + } else { + this.fd = fs7.openSync(file, "r"); + } + this.options = options8; + this.newLineCharacter = options8.newLineCharacter; + this.reset(); + } + _searchInBuffer(buffer2, hexNeedle) { + let found = -1; + for (let i = 0; i <= buffer2.length; i++) { + let b_byte = buffer2[i]; + if (b_byte === hexNeedle) { + found = i; + break; + } + } + return found; + } + reset() { + this.eofReached = false; + this.linesCache = []; + this.fdPosition = 0; + } + close() { + fs7.closeSync(this.fd); + this.fd = null; + } + _extractLines(buffer2) { + let line3; + const lines = []; + let bufferPosition = 0; + let lastNewLineBufferPosition = 0; + while (true) { + let bufferPositionValue = buffer2[bufferPosition++]; + if (bufferPositionValue === this.newLineCharacter) { + line3 = buffer2.slice(lastNewLineBufferPosition, bufferPosition); + lines.push(line3); + lastNewLineBufferPosition = bufferPosition; + } else if (bufferPositionValue === void 0) { + break; + } + } + let leftovers = buffer2.slice(lastNewLineBufferPosition, bufferPosition); + if (leftovers.length) { + lines.push(leftovers); + } + return lines; + } + _readChunk(lineLeftovers) { + let totalBytesRead = 0; + let bytesRead; + const buffers = []; + do { + const readBuffer = Buffer.alloc(this.options.readChunk); + bytesRead = fs7.readSync(this.fd, readBuffer, 0, this.options.readChunk, this.fdPosition); + totalBytesRead = totalBytesRead + bytesRead; + this.fdPosition = this.fdPosition + bytesRead; + buffers.push(readBuffer); + } while (bytesRead && this._searchInBuffer(buffers[buffers.length - 1], this.options.newLineCharacter) === -1); + let bufferData = Buffer.concat(buffers); + if (bytesRead < this.options.readChunk) { + this.eofReached = true; + bufferData = bufferData.slice(0, totalBytesRead); + } + if (totalBytesRead) { + this.linesCache = this._extractLines(bufferData); + if (lineLeftovers) { + this.linesCache[0] = Buffer.concat([lineLeftovers, this.linesCache[0]]); + } + } + return totalBytesRead; + } + next() { + if (!this.fd) + return false; + let line3 = false; + if (this.eofReached && this.linesCache.length === 0) { + return line3; + } + let bytesRead; + if (!this.linesCache.length) { + bytesRead = this._readChunk(); + } + if (this.linesCache.length) { + line3 = this.linesCache.shift(); + const lastLineCharacter = line3[line3.length - 1]; + if (lastLineCharacter !== this.newLineCharacter) { + bytesRead = this._readChunk(line3); + if (bytesRead) { + line3 = this.linesCache.shift(); + } + } + } + if (this.eofReached && this.linesCache.length === 0) { + this.close(); + } + if (line3 && line3[line3.length - 1] === this.newLineCharacter) { + line3 = line3.slice(0, line3.length - 1); + } + return line3; + } + }; + module.exports = LineByLine; + } +}); + +// node_modules/diff/lib/diff/base.js +var require_base = __commonJS({ + "node_modules/diff/lib/diff/base.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports["default"] = Diff; + function Diff() { + } + Diff.prototype = { + /*istanbul ignore start*/ + /*istanbul ignore end*/ + diff: function diff(oldString, newString) { + var options8 = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {}; + var callback = options8.callback; + if (typeof options8 === "function") { + callback = options8; + options8 = {}; + } + this.options = options8; + var self = this; + function done(value) { + if (callback) { + setTimeout(function() { + callback(void 0, value); + }, 0); + return true; + } else { + return value; + } + } + oldString = this.castInput(oldString); + newString = this.castInput(newString); + oldString = this.removeEmpty(this.tokenize(oldString)); + newString = this.removeEmpty(this.tokenize(newString)); + var newLen = newString.length, oldLen = oldString.length; + var editLength = 1; + var maxEditLength = newLen + oldLen; + if (options8.maxEditLength) { + maxEditLength = Math.min(maxEditLength, options8.maxEditLength); + } + var bestPath = [{ + newPos: -1, + components: [] + }]; + var oldPos = this.extractCommon(bestPath[0], newString, oldString, 0); + if (bestPath[0].newPos + 1 >= newLen && oldPos + 1 >= oldLen) { + return done([{ + value: this.join(newString), + count: newString.length + }]); + } + function execEditLength() { + for (var diagonalPath = -1 * editLength; diagonalPath <= editLength; diagonalPath += 2) { + var basePath = ( + /*istanbul ignore start*/ + void 0 + ); + var addPath = bestPath[diagonalPath - 1], removePath = bestPath[diagonalPath + 1], _oldPos = (removePath ? removePath.newPos : 0) - diagonalPath; + if (addPath) { + bestPath[diagonalPath - 1] = void 0; + } + var canAdd = addPath && addPath.newPos + 1 < newLen, canRemove = removePath && 0 <= _oldPos && _oldPos < oldLen; + if (!canAdd && !canRemove) { + bestPath[diagonalPath] = void 0; + continue; + } + if (!canAdd || canRemove && addPath.newPos < removePath.newPos) { + basePath = clonePath(removePath); + self.pushComponent(basePath.components, void 0, true); + } else { + basePath = addPath; + basePath.newPos++; + self.pushComponent(basePath.components, true, void 0); + } + _oldPos = self.extractCommon(basePath, newString, oldString, diagonalPath); + if (basePath.newPos + 1 >= newLen && _oldPos + 1 >= oldLen) { + return done(buildValues(self, basePath.components, newString, oldString, self.useLongestToken)); + } else { + bestPath[diagonalPath] = basePath; + } + } + editLength++; + } + if (callback) { + (function exec() { + setTimeout(function() { + if (editLength > maxEditLength) { + return callback(); + } + if (!execEditLength()) { + exec(); + } + }, 0); + })(); + } else { + while (editLength <= maxEditLength) { + var ret = execEditLength(); + if (ret) { + return ret; + } + } + } + }, + /*istanbul ignore start*/ + /*istanbul ignore end*/ + pushComponent: function pushComponent(components, added, removed) { + var last = components[components.length - 1]; + if (last && last.added === added && last.removed === removed) { + components[components.length - 1] = { + count: last.count + 1, + added, + removed + }; + } else { + components.push({ + count: 1, + added, + removed + }); + } + }, + /*istanbul ignore start*/ + /*istanbul ignore end*/ + extractCommon: function extractCommon(basePath, newString, oldString, diagonalPath) { + var newLen = newString.length, oldLen = oldString.length, newPos = basePath.newPos, oldPos = newPos - diagonalPath, commonCount = 0; + while (newPos + 1 < newLen && oldPos + 1 < oldLen && this.equals(newString[newPos + 1], oldString[oldPos + 1])) { + newPos++; + oldPos++; + commonCount++; + } + if (commonCount) { + basePath.components.push({ + count: commonCount + }); + } + basePath.newPos = newPos; + return oldPos; + }, + /*istanbul ignore start*/ + /*istanbul ignore end*/ + equals: function equals(left, right) { + if (this.options.comparator) { + return this.options.comparator(left, right); + } else { + return left === right || this.options.ignoreCase && left.toLowerCase() === right.toLowerCase(); + } + }, + /*istanbul ignore start*/ + /*istanbul ignore end*/ + removeEmpty: function removeEmpty(array2) { + var ret = []; + for (var i = 0; i < array2.length; i++) { + if (array2[i]) { + ret.push(array2[i]); + } + } + return ret; + }, + /*istanbul ignore start*/ + /*istanbul ignore end*/ + castInput: function castInput(value) { + return value; + }, + /*istanbul ignore start*/ + /*istanbul ignore end*/ + tokenize: function tokenize(value) { + return value.split(""); + }, + /*istanbul ignore start*/ + /*istanbul ignore end*/ + join: function join2(chars) { + return chars.join(""); + } + }; + function buildValues(diff, components, newString, oldString, useLongestToken) { + var componentPos = 0, componentLen = components.length, newPos = 0, oldPos = 0; + for (; componentPos < componentLen; componentPos++) { + var component = components[componentPos]; + if (!component.removed) { + if (!component.added && useLongestToken) { + var value = newString.slice(newPos, newPos + component.count); + value = value.map(function(value2, i) { + var oldValue = oldString[oldPos + i]; + return oldValue.length > value2.length ? oldValue : value2; + }); + component.value = diff.join(value); + } else { + component.value = diff.join(newString.slice(newPos, newPos + component.count)); + } + newPos += component.count; + if (!component.added) { + oldPos += component.count; + } + } else { + component.value = diff.join(oldString.slice(oldPos, oldPos + component.count)); + oldPos += component.count; + if (componentPos && components[componentPos - 1].added) { + var tmp = components[componentPos - 1]; + components[componentPos - 1] = components[componentPos]; + components[componentPos] = tmp; + } + } + } + var lastComponent = components[componentLen - 1]; + if (componentLen > 1 && typeof lastComponent.value === "string" && (lastComponent.added || lastComponent.removed) && diff.equals("", lastComponent.value)) { + components[componentLen - 2].value += lastComponent.value; + components.pop(); + } + return components; + } + function clonePath(path13) { + return { + newPos: path13.newPos, + components: path13.components.slice(0) + }; + } + } +}); + +// node_modules/diff/lib/diff/array.js +var require_array2 = __commonJS({ + "node_modules/diff/lib/diff/array.js"(exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.diffArrays = diffArrays2; + exports.arrayDiff = void 0; + var _base = _interopRequireDefault(require_base()); + function _interopRequireDefault(obj) { + return obj && obj.__esModule ? obj : { "default": obj }; + } + var arrayDiff = new /*istanbul ignore start*/ + _base[ + /*istanbul ignore start*/ + "default" + /*istanbul ignore end*/ + ](); + exports.arrayDiff = arrayDiff; + arrayDiff.tokenize = function(value) { + return value.slice(); + }; + arrayDiff.join = arrayDiff.removeEmpty = function(value) { + return value; + }; + function diffArrays2(oldArr, newArr, callback) { + return arrayDiff.diff(oldArr, newArr, callback); + } + } +}); + // src/index.js var src_exports = {}; __export(src_exports, { __debug: () => debugApis, __internal: () => sharedWithCli, @@ -13515,25 +12929,26 @@ resolveConfig: () => resolveConfig, resolveConfigFile: () => resolveConfigFile, util: () => public_exports, version: () => version_evaluate_default }); +var import_fast_glob = __toESM(require_out4(), 1); // node_modules/vnopts/lib/descriptors/api.js var apiDescriptor = { - key: (key) => /^[$_a-zA-Z][$_a-zA-Z0-9]*$/.test(key) ? key : JSON.stringify(key), + key: (key2) => /^[$_a-zA-Z][$_a-zA-Z0-9]*$/.test(key2) ? key2 : JSON.stringify(key2), value(value) { if (value === null || typeof value !== "object") { return JSON.stringify(value); } if (Array.isArray(value)) { return `[${value.map((subValue) => apiDescriptor.value(subValue)).join(", ")}]`; } const keys = Object.keys(value); - return keys.length === 0 ? "{}" : `{ ${keys.map((key) => `${apiDescriptor.key(key)}: ${apiDescriptor.value(value[key])}`).join(", ")} }`; + return keys.length === 0 ? "{}" : `{ ${keys.map((key2) => `${apiDescriptor.key(key2)}: ${apiDescriptor.value(value[key2])}`).join(", ")} }`; }, - pair: ({ key, value }) => apiDescriptor.value({ [key]: value }) + pair: ({ key: key2, value }) => apiDescriptor.value({ [key2]: value }) }; // node_modules/chalk/source/vendor/ansi-styles/index.js var ANSI_BACKGROUND_OFFSET = 10; var wrapAnsi16 = (offset = 0) => (code) => `\x1B[${code + offset}m`; @@ -13795,11 +13210,11 @@ } if ("CI" in env) { if ("GITHUB_ACTIONS" in env || "GITEA_ACTIONS" in env) { return 3; } - if (["TRAVIS", "CIRCLECI", "APPVEYOR", "GITLAB_CI", "BUILDKITE", "DRONE"].some((sign) => sign in env) || env.CI_NAME === "codeship") { + if (["TRAVIS", "CIRCLECI", "APPVEYOR", "GITLAB_CI", "BUILDKITE", "DRONE"].some((sign2) => sign2 in env) || env.CI_NAME === "codeship") { return 1; } return min; } if ("TEAMCITY_VERSION" in env) { @@ -13919,24 +13334,24 @@ const builder = createBuilder(this, this[STYLER], true); Object.defineProperty(this, "visible", { value: builder }); return builder; } }; -var getModelAnsi = (model, level, type, ...arguments_) => { +var getModelAnsi = (model, level, type2, ...arguments_) => { if (model === "rgb") { if (level === "ansi16m") { - return ansi_styles_default[type].ansi16m(...arguments_); + return ansi_styles_default[type2].ansi16m(...arguments_); } if (level === "ansi256") { - return ansi_styles_default[type].ansi256(ansi_styles_default.rgbToAnsi256(...arguments_)); + return ansi_styles_default[type2].ansi256(ansi_styles_default.rgbToAnsi256(...arguments_)); } - return ansi_styles_default[type].ansi(ansi_styles_default.rgbToAnsi(...arguments_)); + return ansi_styles_default[type2].ansi(ansi_styles_default.rgbToAnsi(...arguments_)); } if (model === "hex") { - return getModelAnsi("rgb", level, type, ...ansi_styles_default.hexToRgb(...arguments_)); + return getModelAnsi("rgb", level, type2, ...ansi_styles_default.hexToRgb(...arguments_)); } - return ansi_styles_default[type][model](...arguments_); + return ansi_styles_default[type2][model](...arguments_); }; var usedModels = ["rgb", "hex", "ansi256"]; for (const model of usedModels) { styles2[model] = { get() { @@ -14038,24 +13453,24 @@ var VALUE_NOT_EXIST = Symbol.for("vnopts.VALUE_NOT_EXIST"); var VALUE_UNCHANGED = Symbol.for("vnopts.VALUE_UNCHANGED"); // node_modules/vnopts/lib/handlers/invalid/common.js var INDENTATION = " ".repeat(2); -var commonInvalidHandler = (key, value, utils) => { - const { text, list } = utils.normalizeExpectedResult(utils.schemas[key].expected(utils)); +var commonInvalidHandler = (key2, value, utils) => { + const { text, list } = utils.normalizeExpectedResult(utils.schemas[key2].expected(utils)); const descriptions = []; if (text) { - descriptions.push(getDescription(key, value, text, utils.descriptor)); + descriptions.push(getDescription(key2, value, text, utils.descriptor)); } if (list) { - descriptions.push([getDescription(key, value, list.title, utils.descriptor)].concat(list.values.map((valueDescription) => getListDescription(valueDescription, utils.loggerPrintWidth))).join("\n")); + descriptions.push([getDescription(key2, value, list.title, utils.descriptor)].concat(list.values.map((valueDescription) => getListDescription(valueDescription, utils.loggerPrintWidth))).join("\n")); } return chooseDescription(descriptions, utils.loggerPrintWidth); }; -function getDescription(key, value, expected, descriptor) { +function getDescription(key2, value, expected, descriptor) { return [ - `Invalid ${source_default.red(descriptor.key(key))} value.`, + `Invalid ${source_default.red(descriptor.key(key2))} value.`, `Expected ${source_default.blue(expected)},`, `but received ${value === VALUE_NOT_EXIST ? source_default.gray("nothing") : source_default.red(descriptor.value(value))}.` ].join(" "); } function getListDescription({ text, list }, printWidth) { @@ -14126,15 +13541,15 @@ } return result; } // node_modules/vnopts/lib/handlers/unknown/leven.js -var levenUnknownHandler = (key, value, { descriptor, logger, schemas }) => { +var levenUnknownHandler = (key2, value, { descriptor, logger, schemas }) => { const messages2 = [ - `Ignored unknown option ${source_default.yellow(descriptor.pair({ key, value }))}.` + `Ignored unknown option ${source_default.yellow(descriptor.pair({ key: key2, value }))}.` ]; - const suggestion = Object.keys(schemas).sort().find((knownKey) => leven(key, knownKey) < 3); + const suggestion = Object.keys(schemas).sort().find((knownKey) => leven(key2, knownKey) < 3); if (suggestion) { messages2.push(`Did you mean ${source_default.blue(descriptor.key(suggestion))}?`); } logger.warn(messages2.join(" ")); }; @@ -14150,15 +13565,15 @@ "overlap", "preprocess", "postprocess" ]; function createSchema(SchemaConstructor, parameters) { - const schema = new SchemaConstructor(parameters); - const subSchema = Object.create(schema); + const schema2 = new SchemaConstructor(parameters); + const subSchema = Object.create(schema2); for (const handlerKey of HANDLER_KEYS) { if (handlerKey in parameters) { - subSchema[handlerKey] = normalizeHandler(parameters[handlerKey], schema, Schema.prototype[handlerKey].length); + subSchema[handlerKey] = normalizeHandler(parameters[handlerKey], schema2, Schema.prototype[handlerKey].length); } } return subSchema; } var Schema = class { @@ -14314,37 +13729,37 @@ // node_modules/vnopts/lib/utils.js function recordFromArray(array2, mainKey) { const record = /* @__PURE__ */ Object.create(null); for (const value of array2) { - const key = value[mainKey]; - if (record[key]) { - throw new Error(`Duplicate ${mainKey} ${JSON.stringify(key)}`); + const key2 = value[mainKey]; + if (record[key2]) { + throw new Error(`Duplicate ${mainKey} ${JSON.stringify(key2)}`); } - record[key] = value; + record[key2] = value; } return record; } function mapFromArray(array2, mainKey) { - const map = /* @__PURE__ */ new Map(); + const map2 = /* @__PURE__ */ new Map(); for (const value of array2) { - const key = value[mainKey]; - if (map.has(key)) { - throw new Error(`Duplicate ${mainKey} ${JSON.stringify(key)}`); + const key2 = value[mainKey]; + if (map2.has(key2)) { + throw new Error(`Duplicate ${mainKey} ${JSON.stringify(key2)}`); } - map.set(key, value); + map2.set(key2, value); } - return map; + return map2; } function createAutoChecklist() { - const map = /* @__PURE__ */ Object.create(null); + const map2 = /* @__PURE__ */ Object.create(null); return (id) => { const idString = JSON.stringify(id); - if (map[idString]) { + if (map2[idString]) { return true; } - map[idString] = true; + map2[idString] = true; return false; }; } function partition(array2, predicate) { const trueArray = []; @@ -14544,113 +13959,113 @@ const transferredOptionsArray = this._applyNormalization(currentOptions, newOptions); restOptionsArray.push(...transferredOptionsArray); } }; applyNormalization(); - for (const key of Object.keys(this._utils.schemas)) { - const schema = this._utils.schemas[key]; - if (!(key in newOptions)) { - const defaultResult = normalizeDefaultResult(schema.default(this._utils)); + for (const key2 of Object.keys(this._utils.schemas)) { + const schema2 = this._utils.schemas[key2]; + if (!(key2 in newOptions)) { + const defaultResult = normalizeDefaultResult(schema2.default(this._utils)); if ("value" in defaultResult) { - restOptionsArray.push({ [key]: defaultResult.value }); + restOptionsArray.push({ [key2]: defaultResult.value }); } } } applyNormalization(); - for (const key of Object.keys(this._utils.schemas)) { - if (!(key in newOptions)) { + for (const key2 of Object.keys(this._utils.schemas)) { + if (!(key2 in newOptions)) { continue; } - const schema = this._utils.schemas[key]; - const value = newOptions[key]; - const newValue = schema.postprocess(value, this._utils); + const schema2 = this._utils.schemas[key2]; + const value = newOptions[key2]; + const newValue = schema2.postprocess(value, this._utils); if (newValue === VALUE_UNCHANGED) { continue; } - this._applyValidation(newValue, key, schema); - newOptions[key] = newValue; + this._applyValidation(newValue, key2, schema2); + newOptions[key2] = newValue; } this._applyPostprocess(newOptions); this._applyRequiredCheck(newOptions); return newOptions; } _applyNormalization(options8, newOptions) { const transferredOptionsArray = []; const { knownKeys, unknownKeys } = this._partitionOptionKeys(options8); - for (const key of knownKeys) { - const schema = this._utils.schemas[key]; - const value = schema.preprocess(options8[key], this._utils); - this._applyValidation(value, key, schema); + for (const key2 of knownKeys) { + const schema2 = this._utils.schemas[key2]; + const value = schema2.preprocess(options8[key2], this._utils); + this._applyValidation(value, key2, schema2); const appendTransferredOptions = ({ from, to }) => { transferredOptionsArray.push(typeof to === "string" ? { [to]: from } : { [to.key]: to.value }); }; const warnDeprecated = ({ value: currentValue, redirectTo }) => { const deprecatedResult = normalizeDeprecatedResult( - schema.deprecated(currentValue, this._utils), + schema2.deprecated(currentValue, this._utils), value, /* doNotNormalizeTrue */ true ); if (deprecatedResult === false) { return; } if (deprecatedResult === true) { - if (!this._hasDeprecationWarned(key)) { - this._utils.logger.warn(this._deprecatedHandler(key, redirectTo, this._utils)); + if (!this._hasDeprecationWarned(key2)) { + this._utils.logger.warn(this._deprecatedHandler(key2, redirectTo, this._utils)); } } else { for (const { value: deprecatedValue } of deprecatedResult) { - const pair = { key, value: deprecatedValue }; + const pair = { key: key2, value: deprecatedValue }; if (!this._hasDeprecationWarned(pair)) { const redirectToPair = typeof redirectTo === "string" ? { key: redirectTo, value: deprecatedValue } : redirectTo; this._utils.logger.warn(this._deprecatedHandler(pair, redirectToPair, this._utils)); } } } }; - const forwardResult = normalizeForwardResult(schema.forward(value, this._utils), value); + const forwardResult = normalizeForwardResult(schema2.forward(value, this._utils), value); forwardResult.forEach(appendTransferredOptions); - const redirectResult = normalizeRedirectResult(schema.redirect(value, this._utils), value); + const redirectResult = normalizeRedirectResult(schema2.redirect(value, this._utils), value); redirectResult.redirect.forEach(appendTransferredOptions); if ("remain" in redirectResult) { const remainingValue = redirectResult.remain; - newOptions[key] = key in newOptions ? schema.overlap(newOptions[key], remainingValue, this._utils) : remainingValue; + newOptions[key2] = key2 in newOptions ? schema2.overlap(newOptions[key2], remainingValue, this._utils) : remainingValue; warnDeprecated({ value: remainingValue }); } for (const { from, to } of redirectResult.redirect) { warnDeprecated({ value: from, redirectTo: to }); } } - for (const key of unknownKeys) { - const value = options8[key]; - this._applyUnknownHandler(key, value, newOptions, (knownResultKey, knownResultValue) => { + for (const key2 of unknownKeys) { + const value = options8[key2]; + this._applyUnknownHandler(key2, value, newOptions, (knownResultKey, knownResultValue) => { transferredOptionsArray.push({ [knownResultKey]: knownResultValue }); }); } return transferredOptionsArray; } _applyRequiredCheck(options8) { - for (const key of Object.keys(this._utils.schemas)) { - if (this._identifyMissing(key, options8)) { - if (this._identifyRequired(key)) { - throw this._invalidHandler(key, VALUE_NOT_EXIST, this._utils); + for (const key2 of Object.keys(this._utils.schemas)) { + if (this._identifyMissing(key2, options8)) { + if (this._identifyRequired(key2)) { + throw this._invalidHandler(key2, VALUE_NOT_EXIST, this._utils); } } } } _partitionOptionKeys(options8) { - const [knownKeys, unknownKeys] = partition(Object.keys(options8).filter((key) => !this._identifyMissing(key, options8)), (key) => key in this._utils.schemas); + const [knownKeys, unknownKeys] = partition(Object.keys(options8).filter((key2) => !this._identifyMissing(key2, options8)), (key2) => key2 in this._utils.schemas); return { knownKeys, unknownKeys }; } - _applyValidation(value, key, schema) { - const validateResult = normalizeValidateResult(schema.validate(value, this._utils), value); + _applyValidation(value, key2, schema2) { + const validateResult = normalizeValidateResult(schema2.validate(value, this._utils), value); if (validateResult !== true) { - throw this._invalidHandler(key, validateResult.value, this._utils); + throw this._invalidHandler(key2, validateResult.value, this._utils); } } - _applyUnknownHandler(key, value, newOptions, knownResultHandler) { - const unknownResult = this._unknownHandler(key, value, this._utils); + _applyUnknownHandler(key2, value, newOptions, knownResultHandler) { + const unknownResult = this._unknownHandler(key2, value, this._utils); if (!unknownResult) { return; } for (const resultKey of Object.keys(unknownResult)) { if (this._identifyMissing(resultKey, unknownResult)) { @@ -14674,30 +14089,5035 @@ delete options8[deleteKey]; } } if (postprocessed.override) { const { knownKeys, unknownKeys } = this._partitionOptionKeys(postprocessed.override); - for (const key of knownKeys) { - const value = postprocessed.override[key]; - this._applyValidation(value, key, this._utils.schemas[key]); - options8[key] = value; + for (const key2 of knownKeys) { + const value = postprocessed.override[key2]; + this._applyValidation(value, key2, this._utils.schemas[key2]); + options8[key2] = value; } - for (const key of unknownKeys) { - const value = postprocessed.override[key]; - this._applyUnknownHandler(key, value, options8, (knownResultKey, knownResultValue) => { - const schema = this._utils.schemas[knownResultKey]; - this._applyValidation(knownResultValue, knownResultKey, schema); + for (const key2 of unknownKeys) { + const value = postprocessed.override[key2]; + this._applyUnknownHandler(key2, value, options8, (knownResultKey, knownResultValue) => { + const schema2 = this._utils.schemas[knownResultKey]; + this._applyValidation(knownResultValue, knownResultKey, schema2); options8[knownResultKey] = knownResultValue; }); } } } }; -// src/index.js -var import_fast_glob = __toESM(require_out4(), 1); +// src/common/errors.js +var errors_exports = {}; +__export(errors_exports, { + ArgExpansionBailout: () => ArgExpansionBailout, + ConfigError: () => ConfigError, + UndefinedParserError: () => UndefinedParserError +}); +var ConfigError = class extends Error { + name = "ConfigError"; +}; +var UndefinedParserError = class extends Error { + name = "UndefinedParserError"; +}; +var ArgExpansionBailout = class extends Error { + name = "ArgExpansionBailout"; +}; +// src/config/resolve-config.js +var import_micromatch = __toESM(require_micromatch(), 1); +import path9 from "path"; + +// node_modules/url-or-path/index.js +import { fileURLToPath, pathToFileURL } from "url"; +var isUrlInstance = (value) => value instanceof URL; +var isUrlString = (value) => typeof value === "string" && value.startsWith("file://"); +var isUrl = (urlOrPath) => isUrlInstance(urlOrPath) || isUrlString(urlOrPath); +var toPath = (urlOrPath) => isUrl(urlOrPath) ? fileURLToPath(urlOrPath) : urlOrPath; + +// src/utils/partition.js +function partition2(array2, predicate) { + const result = [[], []]; + for (const value of array2) { + result[predicate(value) ? 0 : 1].push(value); + } + return result; +} +var partition_default = partition2; + +// src/config/editorconfig/index.js +var import_editorconfig = __toESM(require_src(), 1); +import path4 from "path"; + +// src/config/find-project-root.js +import * as path3 from "path"; + +// src/utils/is-directory.js +import fs from "fs/promises"; +async function isDirectory(directory, options8) { + const allowSymlinks = (options8 == null ? void 0 : options8.allowSymlinks) ?? true; + let stats; + try { + stats = await (allowSymlinks ? fs.stat : fs.lstat)(toPath(directory)); + } catch { + return false; + } + return stats.isDirectory(); +} +var is_directory_default = isDirectory; + +// src/config/searcher.js +import path2 from "path"; + +// node_modules/iterate-directory-up/index.js +import * as path from "path"; +var toAbsolutePath = (value) => path.resolve(toPath(value)); +function* iterateDirectoryUp(from, to) { + from = toAbsolutePath(from); + const { root: root2 } = path.parse(from); + to = to ? toAbsolutePath(to) : root2; + if (from !== to && !from.startsWith(to)) { + return; + } + for (let directory = from; directory !== to; directory = path.dirname(directory)) { + yield directory; + } + yield to; +} +var iterate_directory_up_default = iterateDirectoryUp; + +// src/config/searcher.js +var _names, _filter, _stopDirectory, _cache, _searchInDirectory, searchInDirectory_fn; +var Searcher = class { + /** + * @param {{ + * names: string[], + * filter: (fileOrDirectory: {name: string, path: string}) => Promise<boolean>, + * stopDirectory?: string, + * }} param0 + */ + constructor({ names, filter: filter2, stopDirectory }) { + __privateAdd(this, _searchInDirectory); + __privateAdd(this, _names, void 0); + __privateAdd(this, _filter, void 0); + __privateAdd(this, _stopDirectory, void 0); + __privateAdd(this, _cache, /* @__PURE__ */ new Map()); + __privateSet(this, _names, names); + __privateSet(this, _filter, filter2); + __privateSet(this, _stopDirectory, stopDirectory); + } + async search(startDirectory, { shouldCache }) { + const cache3 = __privateGet(this, _cache); + if (shouldCache && cache3.has(startDirectory)) { + return cache3.get(startDirectory); + } + const searchedDirectories = []; + let result; + for (const directory of iterate_directory_up_default( + startDirectory, + __privateGet(this, _stopDirectory) + )) { + searchedDirectories.push(directory); + result = await __privateMethod(this, _searchInDirectory, searchInDirectory_fn).call(this, directory, shouldCache); + if (result) { + break; + } + } + for (const directory of searchedDirectories) { + cache3.set(directory, result); + } + return result; + } + clearCache() { + __privateGet(this, _cache).clear(); + } +}; +_names = new WeakMap(); +_filter = new WeakMap(); +_stopDirectory = new WeakMap(); +_cache = new WeakMap(); +_searchInDirectory = new WeakSet(); +searchInDirectory_fn = async function(directory, shouldCache) { + const cache3 = __privateGet(this, _cache); + if (shouldCache && cache3.has(directory)) { + return cache3.get(directory); + } + for (const name of __privateGet(this, _names)) { + const fileOrDirectory = path2.join(directory, name); + if (await __privateGet(this, _filter).call(this, { name, path: fileOrDirectory })) { + return fileOrDirectory; + } + } +}; +var searcher_default = Searcher; + +// src/config/find-project-root.js +var MARKERS = [".git", ".hg"]; +var searcher; +var searchOptions = { + names: MARKERS, + filter: ({ path: directory }) => is_directory_default(directory, { allowSymlinks: false }) +}; +async function findProjectRoot(startDirectory, options8) { + searcher ?? (searcher = new searcher_default(searchOptions)); + const mark = await searcher.search(startDirectory, options8); + return mark ? path3.dirname(mark) : void 0; +} +function clearFindProjectRootCache() { + searcher == null ? void 0 : searcher.clearCache(); +} + +// src/config/editorconfig/editorconfig-to-prettier.js +function removeUnset(editorConfig) { + const result = {}; + const keys = Object.keys(editorConfig); + for (let i = 0; i < keys.length; i++) { + const key2 = keys[i]; + if (editorConfig[key2] === "unset") { + continue; + } + result[key2] = editorConfig[key2]; + } + return result; +} +function editorConfigToPrettier(editorConfig) { + if (!editorConfig) { + return null; + } + editorConfig = removeUnset(editorConfig); + if (Object.keys(editorConfig).length === 0) { + return null; + } + const result = {}; + if (editorConfig.indent_style) { + result.useTabs = editorConfig.indent_style === "tab"; + } + if (editorConfig.indent_size === "tab") { + result.useTabs = true; + } + if (result.useTabs && editorConfig.tab_width) { + result.tabWidth = editorConfig.tab_width; + } else if (editorConfig.indent_style === "space" && editorConfig.indent_size && editorConfig.indent_size !== "tab") { + result.tabWidth = editorConfig.indent_size; + } else if (editorConfig.tab_width !== void 0) { + result.tabWidth = editorConfig.tab_width; + } + if (editorConfig.max_line_length) { + if (editorConfig.max_line_length === "off") { + result.printWidth = Number.POSITIVE_INFINITY; + } else { + result.printWidth = editorConfig.max_line_length; + } + } + if (editorConfig.quote_type === "single") { + result.singleQuote = true; + } else if (editorConfig.quote_type === "double") { + result.singleQuote = false; + } + if (["cr", "crlf", "lf"].includes(editorConfig.end_of_line)) { + result.endOfLine = editorConfig.end_of_line; + } + return result; +} +var editorconfig_to_prettier_default = editorConfigToPrettier; + +// src/config/editorconfig/index.js +var editorconfigCache = /* @__PURE__ */ new Map(); +function clearEditorconfigCache() { + clearFindProjectRootCache(); + editorconfigCache.clear(); +} +async function loadEditorconfigInternal(file, { shouldCache }) { + const directory = path4.dirname(file); + const root2 = await findProjectRoot(directory, { shouldCache }); + const editorConfig = await import_editorconfig.default.parse(file, { root: root2 }); + const config = editorconfig_to_prettier_default(editorConfig); + return config; +} +function loadEditorconfig(file, { shouldCache }) { + file = path4.resolve(file); + if (!shouldCache || !editorconfigCache.has(file)) { + editorconfigCache.set( + file, + loadEditorconfigInternal(file, { shouldCache }) + ); + } + return editorconfigCache.get(file); +} + +// src/config/prettier-config/index.js +import path8 from "path"; + +// src/common/mockable.js +var import_ci_info = __toESM(require_ci_info(), 1); +import fs2 from "fs/promises"; + +// node_modules/get-stdin/index.js +var { stdin } = process; +async function getStdin() { + let result = ""; + if (stdin.isTTY) { + return result; + } + stdin.setEncoding("utf8"); + for await (const chunk of stdin) { + result += chunk; + } + return result; +} +getStdin.buffer = async () => { + const result = []; + let length = 0; + if (stdin.isTTY) { + return Buffer.concat([]); + } + for await (const chunk of stdin) { + result.push(chunk); + length += chunk.length; + } + return Buffer.concat(result, length); +}; + +// src/common/mockable.js +function writeFormattedFile(file, data) { + return fs2.writeFile(file, data); +} +var mockable = { + getPrettierConfigSearchStopDirectory: () => void 0, + getStdin, + isCI: () => import_ci_info.isCI, + writeFormattedFile +}; +var mockable_default = mockable; + +// src/utils/is-file.js +import fs3 from "fs/promises"; +async function isFile(file, options8) { + const allowSymlinks = (options8 == null ? void 0 : options8.allowSymlinks) ?? true; + let stats; + try { + stats = await (allowSymlinks ? fs3.stat : fs3.lstat)(toPath(file)); + } catch { + return false; + } + return stats.isFile(); +} +var is_file_default = isFile; + +// src/config/prettier-config/loaders.js +var import_parse_async = __toESM(require_parse_async(), 1); +import { pathToFileURL as pathToFileURL2 } from "url"; + +// node_modules/js-yaml/dist/js-yaml.mjs +function isNothing(subject) { + return typeof subject === "undefined" || subject === null; +} +function isObject(subject) { + return typeof subject === "object" && subject !== null; +} +function toArray(sequence) { + if (Array.isArray(sequence)) + return sequence; + else if (isNothing(sequence)) + return []; + return [sequence]; +} +function extend(target, source2) { + var index, length, key2, sourceKeys; + if (source2) { + sourceKeys = Object.keys(source2); + for (index = 0, length = sourceKeys.length; index < length; index += 1) { + key2 = sourceKeys[index]; + target[key2] = source2[key2]; + } + } + return target; +} +function repeat(string, count) { + var result = "", cycle; + for (cycle = 0; cycle < count; cycle += 1) { + result += string; + } + return result; +} +function isNegativeZero(number) { + return number === 0 && Number.NEGATIVE_INFINITY === 1 / number; +} +var isNothing_1 = isNothing; +var isObject_1 = isObject; +var toArray_1 = toArray; +var repeat_1 = repeat; +var isNegativeZero_1 = isNegativeZero; +var extend_1 = extend; +var common = { + isNothing: isNothing_1, + isObject: isObject_1, + toArray: toArray_1, + repeat: repeat_1, + isNegativeZero: isNegativeZero_1, + extend: extend_1 +}; +function formatError(exception2, compact) { + var where = "", message = exception2.reason || "(unknown reason)"; + if (!exception2.mark) + return message; + if (exception2.mark.name) { + where += 'in "' + exception2.mark.name + '" '; + } + where += "(" + (exception2.mark.line + 1) + ":" + (exception2.mark.column + 1) + ")"; + if (!compact && exception2.mark.snippet) { + where += "\n\n" + exception2.mark.snippet; + } + return message + " " + where; +} +function YAMLException$1(reason, mark) { + Error.call(this); + this.name = "YAMLException"; + this.reason = reason; + this.mark = mark; + this.message = formatError(this, false); + if (Error.captureStackTrace) { + Error.captureStackTrace(this, this.constructor); + } else { + this.stack = new Error().stack || ""; + } +} +YAMLException$1.prototype = Object.create(Error.prototype); +YAMLException$1.prototype.constructor = YAMLException$1; +YAMLException$1.prototype.toString = function toString(compact) { + return this.name + ": " + formatError(this, compact); +}; +var exception = YAMLException$1; +function getLine(buffer2, lineStart, lineEnd, position, maxLineLength) { + var head = ""; + var tail = ""; + var maxHalfLength = Math.floor(maxLineLength / 2) - 1; + if (position - lineStart > maxHalfLength) { + head = " ... "; + lineStart = position - maxHalfLength + head.length; + } + if (lineEnd - position > maxHalfLength) { + tail = " ..."; + lineEnd = position + maxHalfLength - tail.length; + } + return { + str: head + buffer2.slice(lineStart, lineEnd).replace(/\t/g, "\u2192") + tail, + pos: position - lineStart + head.length + // relative position + }; +} +function padStart(string, max) { + return common.repeat(" ", max - string.length) + string; +} +function makeSnippet(mark, options8) { + options8 = Object.create(options8 || null); + if (!mark.buffer) + return null; + if (!options8.maxLength) + options8.maxLength = 79; + if (typeof options8.indent !== "number") + options8.indent = 1; + if (typeof options8.linesBefore !== "number") + options8.linesBefore = 3; + if (typeof options8.linesAfter !== "number") + options8.linesAfter = 2; + var re = /\r?\n|\r|\0/g; + var lineStarts = [0]; + var lineEnds = []; + var match; + var foundLineNo = -1; + while (match = re.exec(mark.buffer)) { + lineEnds.push(match.index); + lineStarts.push(match.index + match[0].length); + if (mark.position <= match.index && foundLineNo < 0) { + foundLineNo = lineStarts.length - 2; + } + } + if (foundLineNo < 0) + foundLineNo = lineStarts.length - 1; + var result = "", i, line3; + var lineNoLength = Math.min(mark.line + options8.linesAfter, lineEnds.length).toString().length; + var maxLineLength = options8.maxLength - (options8.indent + lineNoLength + 3); + for (i = 1; i <= options8.linesBefore; i++) { + if (foundLineNo - i < 0) + break; + line3 = getLine( + mark.buffer, + lineStarts[foundLineNo - i], + lineEnds[foundLineNo - i], + mark.position - (lineStarts[foundLineNo] - lineStarts[foundLineNo - i]), + maxLineLength + ); + result = common.repeat(" ", options8.indent) + padStart((mark.line - i + 1).toString(), lineNoLength) + " | " + line3.str + "\n" + result; + } + line3 = getLine(mark.buffer, lineStarts[foundLineNo], lineEnds[foundLineNo], mark.position, maxLineLength); + result += common.repeat(" ", options8.indent) + padStart((mark.line + 1).toString(), lineNoLength) + " | " + line3.str + "\n"; + result += common.repeat("-", options8.indent + lineNoLength + 3 + line3.pos) + "^\n"; + for (i = 1; i <= options8.linesAfter; i++) { + if (foundLineNo + i >= lineEnds.length) + break; + line3 = getLine( + mark.buffer, + lineStarts[foundLineNo + i], + lineEnds[foundLineNo + i], + mark.position - (lineStarts[foundLineNo] - lineStarts[foundLineNo + i]), + maxLineLength + ); + result += common.repeat(" ", options8.indent) + padStart((mark.line + i + 1).toString(), lineNoLength) + " | " + line3.str + "\n"; + } + return result.replace(/\n$/, ""); +} +var snippet = makeSnippet; +var TYPE_CONSTRUCTOR_OPTIONS = [ + "kind", + "multi", + "resolve", + "construct", + "instanceOf", + "predicate", + "represent", + "representName", + "defaultStyle", + "styleAliases" +]; +var YAML_NODE_KINDS = [ + "scalar", + "sequence", + "mapping" +]; +function compileStyleAliases(map2) { + var result = {}; + if (map2 !== null) { + Object.keys(map2).forEach(function(style) { + map2[style].forEach(function(alias) { + result[String(alias)] = style; + }); + }); + } + return result; +} +function Type$1(tag, options8) { + options8 = options8 || {}; + Object.keys(options8).forEach(function(name) { + if (TYPE_CONSTRUCTOR_OPTIONS.indexOf(name) === -1) { + throw new exception('Unknown option "' + name + '" is met in definition of "' + tag + '" YAML type.'); + } + }); + this.options = options8; + this.tag = tag; + this.kind = options8["kind"] || null; + this.resolve = options8["resolve"] || function() { + return true; + }; + this.construct = options8["construct"] || function(data) { + return data; + }; + this.instanceOf = options8["instanceOf"] || null; + this.predicate = options8["predicate"] || null; + this.represent = options8["represent"] || null; + this.representName = options8["representName"] || null; + this.defaultStyle = options8["defaultStyle"] || null; + this.multi = options8["multi"] || false; + this.styleAliases = compileStyleAliases(options8["styleAliases"] || null); + if (YAML_NODE_KINDS.indexOf(this.kind) === -1) { + throw new exception('Unknown kind "' + this.kind + '" is specified for "' + tag + '" YAML type.'); + } +} +var type = Type$1; +function compileList(schema2, name) { + var result = []; + schema2[name].forEach(function(currentType) { + var newIndex = result.length; + result.forEach(function(previousType, previousIndex) { + if (previousType.tag === currentType.tag && previousType.kind === currentType.kind && previousType.multi === currentType.multi) { + newIndex = previousIndex; + } + }); + result[newIndex] = currentType; + }); + return result; +} +function compileMap() { + var result = { + scalar: {}, + sequence: {}, + mapping: {}, + fallback: {}, + multi: { + scalar: [], + sequence: [], + mapping: [], + fallback: [] + } + }, index, length; + function collectType(type2) { + if (type2.multi) { + result.multi[type2.kind].push(type2); + result.multi["fallback"].push(type2); + } else { + result[type2.kind][type2.tag] = result["fallback"][type2.tag] = type2; + } + } + for (index = 0, length = arguments.length; index < length; index += 1) { + arguments[index].forEach(collectType); + } + return result; +} +function Schema$1(definition) { + return this.extend(definition); +} +Schema$1.prototype.extend = function extend2(definition) { + var implicit = []; + var explicit = []; + if (definition instanceof type) { + explicit.push(definition); + } else if (Array.isArray(definition)) { + explicit = explicit.concat(definition); + } else if (definition && (Array.isArray(definition.implicit) || Array.isArray(definition.explicit))) { + if (definition.implicit) + implicit = implicit.concat(definition.implicit); + if (definition.explicit) + explicit = explicit.concat(definition.explicit); + } else { + throw new exception("Schema.extend argument should be a Type, [ Type ], or a schema definition ({ implicit: [...], explicit: [...] })"); + } + implicit.forEach(function(type$1) { + if (!(type$1 instanceof type)) { + throw new exception("Specified list of YAML types (or a single Type object) contains a non-Type object."); + } + if (type$1.loadKind && type$1.loadKind !== "scalar") { + throw new exception("There is a non-scalar type in the implicit list of a schema. Implicit resolving of such types is not supported."); + } + if (type$1.multi) { + throw new exception("There is a multi type in the implicit list of a schema. Multi tags can only be listed as explicit."); + } + }); + explicit.forEach(function(type$1) { + if (!(type$1 instanceof type)) { + throw new exception("Specified list of YAML types (or a single Type object) contains a non-Type object."); + } + }); + var result = Object.create(Schema$1.prototype); + result.implicit = (this.implicit || []).concat(implicit); + result.explicit = (this.explicit || []).concat(explicit); + result.compiledImplicit = compileList(result, "implicit"); + result.compiledExplicit = compileList(result, "explicit"); + result.compiledTypeMap = compileMap(result.compiledImplicit, result.compiledExplicit); + return result; +}; +var schema = Schema$1; +var str = new type("tag:yaml.org,2002:str", { + kind: "scalar", + construct: function(data) { + return data !== null ? data : ""; + } +}); +var seq = new type("tag:yaml.org,2002:seq", { + kind: "sequence", + construct: function(data) { + return data !== null ? data : []; + } +}); +var map = new type("tag:yaml.org,2002:map", { + kind: "mapping", + construct: function(data) { + return data !== null ? data : {}; + } +}); +var failsafe = new schema({ + explicit: [ + str, + seq, + map + ] +}); +function resolveYamlNull(data) { + if (data === null) + return true; + var max = data.length; + return max === 1 && data === "~" || max === 4 && (data === "null" || data === "Null" || data === "NULL"); +} +function constructYamlNull() { + return null; +} +function isNull(object) { + return object === null; +} +var _null = new type("tag:yaml.org,2002:null", { + kind: "scalar", + resolve: resolveYamlNull, + construct: constructYamlNull, + predicate: isNull, + represent: { + canonical: function() { + return "~"; + }, + lowercase: function() { + return "null"; + }, + uppercase: function() { + return "NULL"; + }, + camelcase: function() { + return "Null"; + }, + empty: function() { + return ""; + } + }, + defaultStyle: "lowercase" +}); +function resolveYamlBoolean(data) { + if (data === null) + return false; + var max = data.length; + return max === 4 && (data === "true" || data === "True" || data === "TRUE") || max === 5 && (data === "false" || data === "False" || data === "FALSE"); +} +function constructYamlBoolean(data) { + return data === "true" || data === "True" || data === "TRUE"; +} +function isBoolean(object) { + return Object.prototype.toString.call(object) === "[object Boolean]"; +} +var bool = new type("tag:yaml.org,2002:bool", { + kind: "scalar", + resolve: resolveYamlBoolean, + construct: constructYamlBoolean, + predicate: isBoolean, + represent: { + lowercase: function(object) { + return object ? "true" : "false"; + }, + uppercase: function(object) { + return object ? "TRUE" : "FALSE"; + }, + camelcase: function(object) { + return object ? "True" : "False"; + } + }, + defaultStyle: "lowercase" +}); +function isHexCode(c2) { + return 48 <= c2 && c2 <= 57 || 65 <= c2 && c2 <= 70 || 97 <= c2 && c2 <= 102; +} +function isOctCode(c2) { + return 48 <= c2 && c2 <= 55; +} +function isDecCode(c2) { + return 48 <= c2 && c2 <= 57; +} +function resolveYamlInteger(data) { + if (data === null) + return false; + var max = data.length, index = 0, hasDigits = false, ch; + if (!max) + return false; + ch = data[index]; + if (ch === "-" || ch === "+") { + ch = data[++index]; + } + if (ch === "0") { + if (index + 1 === max) + return true; + ch = data[++index]; + if (ch === "b") { + index++; + for (; index < max; index++) { + ch = data[index]; + if (ch === "_") + continue; + if (ch !== "0" && ch !== "1") + return false; + hasDigits = true; + } + return hasDigits && ch !== "_"; + } + if (ch === "x") { + index++; + for (; index < max; index++) { + ch = data[index]; + if (ch === "_") + continue; + if (!isHexCode(data.charCodeAt(index))) + return false; + hasDigits = true; + } + return hasDigits && ch !== "_"; + } + if (ch === "o") { + index++; + for (; index < max; index++) { + ch = data[index]; + if (ch === "_") + continue; + if (!isOctCode(data.charCodeAt(index))) + return false; + hasDigits = true; + } + return hasDigits && ch !== "_"; + } + } + if (ch === "_") + return false; + for (; index < max; index++) { + ch = data[index]; + if (ch === "_") + continue; + if (!isDecCode(data.charCodeAt(index))) { + return false; + } + hasDigits = true; + } + if (!hasDigits || ch === "_") + return false; + return true; +} +function constructYamlInteger(data) { + var value = data, sign2 = 1, ch; + if (value.indexOf("_") !== -1) { + value = value.replace(/_/g, ""); + } + ch = value[0]; + if (ch === "-" || ch === "+") { + if (ch === "-") + sign2 = -1; + value = value.slice(1); + ch = value[0]; + } + if (value === "0") + return 0; + if (ch === "0") { + if (value[1] === "b") + return sign2 * parseInt(value.slice(2), 2); + if (value[1] === "x") + return sign2 * parseInt(value.slice(2), 16); + if (value[1] === "o") + return sign2 * parseInt(value.slice(2), 8); + } + return sign2 * parseInt(value, 10); +} +function isInteger(object) { + return Object.prototype.toString.call(object) === "[object Number]" && (object % 1 === 0 && !common.isNegativeZero(object)); +} +var int = new type("tag:yaml.org,2002:int", { + kind: "scalar", + resolve: resolveYamlInteger, + construct: constructYamlInteger, + predicate: isInteger, + represent: { + binary: function(obj) { + return obj >= 0 ? "0b" + obj.toString(2) : "-0b" + obj.toString(2).slice(1); + }, + octal: function(obj) { + return obj >= 0 ? "0o" + obj.toString(8) : "-0o" + obj.toString(8).slice(1); + }, + decimal: function(obj) { + return obj.toString(10); + }, + /* eslint-disable max-len */ + hexadecimal: function(obj) { + return obj >= 0 ? "0x" + obj.toString(16).toUpperCase() : "-0x" + obj.toString(16).toUpperCase().slice(1); + } + }, + defaultStyle: "decimal", + styleAliases: { + binary: [2, "bin"], + octal: [8, "oct"], + decimal: [10, "dec"], + hexadecimal: [16, "hex"] + } +}); +var YAML_FLOAT_PATTERN = new RegExp( + // 2.5e4, 2.5 and integers + "^(?:[-+]?(?:[0-9][0-9_]*)(?:\\.[0-9_]*)?(?:[eE][-+]?[0-9]+)?|\\.[0-9_]+(?:[eE][-+]?[0-9]+)?|[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$" +); +function resolveYamlFloat(data) { + if (data === null) + return false; + if (!YAML_FLOAT_PATTERN.test(data) || // Quick hack to not allow integers end with `_` + // Probably should update regexp & check speed + data[data.length - 1] === "_") { + return false; + } + return true; +} +function constructYamlFloat(data) { + var value, sign2; + value = data.replace(/_/g, "").toLowerCase(); + sign2 = value[0] === "-" ? -1 : 1; + if ("+-".indexOf(value[0]) >= 0) { + value = value.slice(1); + } + if (value === ".inf") { + return sign2 === 1 ? Number.POSITIVE_INFINITY : Number.NEGATIVE_INFINITY; + } else if (value === ".nan") { + return NaN; + } + return sign2 * parseFloat(value, 10); +} +var SCIENTIFIC_WITHOUT_DOT = /^[-+]?[0-9]+e/; +function representYamlFloat(object, style) { + var res; + if (isNaN(object)) { + switch (style) { + case "lowercase": + return ".nan"; + case "uppercase": + return ".NAN"; + case "camelcase": + return ".NaN"; + } + } else if (Number.POSITIVE_INFINITY === object) { + switch (style) { + case "lowercase": + return ".inf"; + case "uppercase": + return ".INF"; + case "camelcase": + return ".Inf"; + } + } else if (Number.NEGATIVE_INFINITY === object) { + switch (style) { + case "lowercase": + return "-.inf"; + case "uppercase": + return "-.INF"; + case "camelcase": + return "-.Inf"; + } + } else if (common.isNegativeZero(object)) { + return "-0.0"; + } + res = object.toString(10); + return SCIENTIFIC_WITHOUT_DOT.test(res) ? res.replace("e", ".e") : res; +} +function isFloat(object) { + return Object.prototype.toString.call(object) === "[object Number]" && (object % 1 !== 0 || common.isNegativeZero(object)); +} +var float = new type("tag:yaml.org,2002:float", { + kind: "scalar", + resolve: resolveYamlFloat, + construct: constructYamlFloat, + predicate: isFloat, + represent: representYamlFloat, + defaultStyle: "lowercase" +}); +var json = failsafe.extend({ + implicit: [ + _null, + bool, + int, + float + ] +}); +var core = json; +var YAML_DATE_REGEXP = new RegExp( + "^([0-9][0-9][0-9][0-9])-([0-9][0-9])-([0-9][0-9])$" +); +var YAML_TIMESTAMP_REGEXP = new RegExp( + "^([0-9][0-9][0-9][0-9])-([0-9][0-9]?)-([0-9][0-9]?)(?:[Tt]|[ \\t]+)([0-9][0-9]?):([0-9][0-9]):([0-9][0-9])(?:\\.([0-9]*))?(?:[ \\t]*(Z|([-+])([0-9][0-9]?)(?::([0-9][0-9]))?))?$" +); +function resolveYamlTimestamp(data) { + if (data === null) + return false; + if (YAML_DATE_REGEXP.exec(data) !== null) + return true; + if (YAML_TIMESTAMP_REGEXP.exec(data) !== null) + return true; + return false; +} +function constructYamlTimestamp(data) { + var match, year, month, day, hour, minute, second, fraction = 0, delta = null, tz_hour, tz_minute, date; + match = YAML_DATE_REGEXP.exec(data); + if (match === null) + match = YAML_TIMESTAMP_REGEXP.exec(data); + if (match === null) + throw new Error("Date resolve error"); + year = +match[1]; + month = +match[2] - 1; + day = +match[3]; + if (!match[4]) { + return new Date(Date.UTC(year, month, day)); + } + hour = +match[4]; + minute = +match[5]; + second = +match[6]; + if (match[7]) { + fraction = match[7].slice(0, 3); + while (fraction.length < 3) { + fraction += "0"; + } + fraction = +fraction; + } + if (match[9]) { + tz_hour = +match[10]; + tz_minute = +(match[11] || 0); + delta = (tz_hour * 60 + tz_minute) * 6e4; + if (match[9] === "-") + delta = -delta; + } + date = new Date(Date.UTC(year, month, day, hour, minute, second, fraction)); + if (delta) + date.setTime(date.getTime() - delta); + return date; +} +function representYamlTimestamp(object) { + return object.toISOString(); +} +var timestamp = new type("tag:yaml.org,2002:timestamp", { + kind: "scalar", + resolve: resolveYamlTimestamp, + construct: constructYamlTimestamp, + instanceOf: Date, + represent: representYamlTimestamp +}); +function resolveYamlMerge(data) { + return data === "<<" || data === null; +} +var merge = new type("tag:yaml.org,2002:merge", { + kind: "scalar", + resolve: resolveYamlMerge +}); +var BASE64_MAP = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\n\r"; +function resolveYamlBinary(data) { + if (data === null) + return false; + var code, idx, bitlen = 0, max = data.length, map2 = BASE64_MAP; + for (idx = 0; idx < max; idx++) { + code = map2.indexOf(data.charAt(idx)); + if (code > 64) + continue; + if (code < 0) + return false; + bitlen += 6; + } + return bitlen % 8 === 0; +} +function constructYamlBinary(data) { + var idx, tailbits, input = data.replace(/[\r\n=]/g, ""), max = input.length, map2 = BASE64_MAP, bits = 0, result = []; + for (idx = 0; idx < max; idx++) { + if (idx % 4 === 0 && idx) { + result.push(bits >> 16 & 255); + result.push(bits >> 8 & 255); + result.push(bits & 255); + } + bits = bits << 6 | map2.indexOf(input.charAt(idx)); + } + tailbits = max % 4 * 6; + if (tailbits === 0) { + result.push(bits >> 16 & 255); + result.push(bits >> 8 & 255); + result.push(bits & 255); + } else if (tailbits === 18) { + result.push(bits >> 10 & 255); + result.push(bits >> 2 & 255); + } else if (tailbits === 12) { + result.push(bits >> 4 & 255); + } + return new Uint8Array(result); +} +function representYamlBinary(object) { + var result = "", bits = 0, idx, tail, max = object.length, map2 = BASE64_MAP; + for (idx = 0; idx < max; idx++) { + if (idx % 3 === 0 && idx) { + result += map2[bits >> 18 & 63]; + result += map2[bits >> 12 & 63]; + result += map2[bits >> 6 & 63]; + result += map2[bits & 63]; + } + bits = (bits << 8) + object[idx]; + } + tail = max % 3; + if (tail === 0) { + result += map2[bits >> 18 & 63]; + result += map2[bits >> 12 & 63]; + result += map2[bits >> 6 & 63]; + result += map2[bits & 63]; + } else if (tail === 2) { + result += map2[bits >> 10 & 63]; + result += map2[bits >> 4 & 63]; + result += map2[bits << 2 & 63]; + result += map2[64]; + } else if (tail === 1) { + result += map2[bits >> 2 & 63]; + result += map2[bits << 4 & 63]; + result += map2[64]; + result += map2[64]; + } + return result; +} +function isBinary(obj) { + return Object.prototype.toString.call(obj) === "[object Uint8Array]"; +} +var binary = new type("tag:yaml.org,2002:binary", { + kind: "scalar", + resolve: resolveYamlBinary, + construct: constructYamlBinary, + predicate: isBinary, + represent: representYamlBinary +}); +var _hasOwnProperty$3 = Object.prototype.hasOwnProperty; +var _toString$2 = Object.prototype.toString; +function resolveYamlOmap(data) { + if (data === null) + return true; + var objectKeys = [], index, length, pair, pairKey, pairHasKey, object = data; + for (index = 0, length = object.length; index < length; index += 1) { + pair = object[index]; + pairHasKey = false; + if (_toString$2.call(pair) !== "[object Object]") + return false; + for (pairKey in pair) { + if (_hasOwnProperty$3.call(pair, pairKey)) { + if (!pairHasKey) + pairHasKey = true; + else + return false; + } + } + if (!pairHasKey) + return false; + if (objectKeys.indexOf(pairKey) === -1) + objectKeys.push(pairKey); + else + return false; + } + return true; +} +function constructYamlOmap(data) { + return data !== null ? data : []; +} +var omap = new type("tag:yaml.org,2002:omap", { + kind: "sequence", + resolve: resolveYamlOmap, + construct: constructYamlOmap +}); +var _toString$1 = Object.prototype.toString; +function resolveYamlPairs(data) { + if (data === null) + return true; + var index, length, pair, keys, result, object = data; + result = new Array(object.length); + for (index = 0, length = object.length; index < length; index += 1) { + pair = object[index]; + if (_toString$1.call(pair) !== "[object Object]") + return false; + keys = Object.keys(pair); + if (keys.length !== 1) + return false; + result[index] = [keys[0], pair[keys[0]]]; + } + return true; +} +function constructYamlPairs(data) { + if (data === null) + return []; + var index, length, pair, keys, result, object = data; + result = new Array(object.length); + for (index = 0, length = object.length; index < length; index += 1) { + pair = object[index]; + keys = Object.keys(pair); + result[index] = [keys[0], pair[keys[0]]]; + } + return result; +} +var pairs = new type("tag:yaml.org,2002:pairs", { + kind: "sequence", + resolve: resolveYamlPairs, + construct: constructYamlPairs +}); +var _hasOwnProperty$2 = Object.prototype.hasOwnProperty; +function resolveYamlSet(data) { + if (data === null) + return true; + var key2, object = data; + for (key2 in object) { + if (_hasOwnProperty$2.call(object, key2)) { + if (object[key2] !== null) + return false; + } + } + return true; +} +function constructYamlSet(data) { + return data !== null ? data : {}; +} +var set = new type("tag:yaml.org,2002:set", { + kind: "mapping", + resolve: resolveYamlSet, + construct: constructYamlSet +}); +var _default = core.extend({ + implicit: [ + timestamp, + merge + ], + explicit: [ + binary, + omap, + pairs, + set + ] +}); +var _hasOwnProperty$1 = Object.prototype.hasOwnProperty; +var CONTEXT_FLOW_IN = 1; +var CONTEXT_FLOW_OUT = 2; +var CONTEXT_BLOCK_IN = 3; +var CONTEXT_BLOCK_OUT = 4; +var CHOMPING_CLIP = 1; +var CHOMPING_STRIP = 2; +var CHOMPING_KEEP = 3; +var PATTERN_NON_PRINTABLE = /[\x00-\x08\x0B\x0C\x0E-\x1F\x7F-\x84\x86-\x9F\uFFFE\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/; +var PATTERN_NON_ASCII_LINE_BREAKS = /[\x85\u2028\u2029]/; +var PATTERN_FLOW_INDICATORS = /[,\[\]\{\}]/; +var PATTERN_TAG_HANDLE = /^(?:!|!!|![a-z\-]+!)$/i; +var PATTERN_TAG_URI = /^(?:!|[^,\[\]\{\}])(?:%[0-9a-f]{2}|[0-9a-z\-#;\/\?:@&=\+\$,_\.!~\*'\(\)\[\]])*$/i; +function _class(obj) { + return Object.prototype.toString.call(obj); +} +function is_EOL(c2) { + return c2 === 10 || c2 === 13; +} +function is_WHITE_SPACE(c2) { + return c2 === 9 || c2 === 32; +} +function is_WS_OR_EOL(c2) { + return c2 === 9 || c2 === 32 || c2 === 10 || c2 === 13; +} +function is_FLOW_INDICATOR(c2) { + return c2 === 44 || c2 === 91 || c2 === 93 || c2 === 123 || c2 === 125; +} +function fromHexCode(c2) { + var lc; + if (48 <= c2 && c2 <= 57) { + return c2 - 48; + } + lc = c2 | 32; + if (97 <= lc && lc <= 102) { + return lc - 97 + 10; + } + return -1; +} +function escapedHexLen(c2) { + if (c2 === 120) { + return 2; + } + if (c2 === 117) { + return 4; + } + if (c2 === 85) { + return 8; + } + return 0; +} +function fromDecimalCode(c2) { + if (48 <= c2 && c2 <= 57) { + return c2 - 48; + } + return -1; +} +function simpleEscapeSequence(c2) { + return c2 === 48 ? "\0" : c2 === 97 ? "\x07" : c2 === 98 ? "\b" : c2 === 116 ? " " : c2 === 9 ? " " : c2 === 110 ? "\n" : c2 === 118 ? "\v" : c2 === 102 ? "\f" : c2 === 114 ? "\r" : c2 === 101 ? "\x1B" : c2 === 32 ? " " : c2 === 34 ? '"' : c2 === 47 ? "/" : c2 === 92 ? "\\" : c2 === 78 ? "\x85" : c2 === 95 ? "\xA0" : c2 === 76 ? "\u2028" : c2 === 80 ? "\u2029" : ""; +} +function charFromCodepoint(c2) { + if (c2 <= 65535) { + return String.fromCharCode(c2); + } + return String.fromCharCode( + (c2 - 65536 >> 10) + 55296, + (c2 - 65536 & 1023) + 56320 + ); +} +var simpleEscapeCheck = new Array(256); +var simpleEscapeMap = new Array(256); +for (i = 0; i < 256; i++) { + simpleEscapeCheck[i] = simpleEscapeSequence(i) ? 1 : 0; + simpleEscapeMap[i] = simpleEscapeSequence(i); +} +var i; +function State$1(input, options8) { + this.input = input; + this.filename = options8["filename"] || null; + this.schema = options8["schema"] || _default; + this.onWarning = options8["onWarning"] || null; + this.legacy = options8["legacy"] || false; + this.json = options8["json"] || false; + this.listener = options8["listener"] || null; + this.implicitTypes = this.schema.compiledImplicit; + this.typeMap = this.schema.compiledTypeMap; + this.length = input.length; + this.position = 0; + this.line = 0; + this.lineStart = 0; + this.lineIndent = 0; + this.firstTabInLine = -1; + this.documents = []; +} +function generateError(state, message) { + var mark = { + name: state.filename, + buffer: state.input.slice(0, -1), + // omit trailing \0 + position: state.position, + line: state.line, + column: state.position - state.lineStart + }; + mark.snippet = snippet(mark); + return new exception(message, mark); +} +function throwError(state, message) { + throw generateError(state, message); +} +function throwWarning(state, message) { + if (state.onWarning) { + state.onWarning.call(null, generateError(state, message)); + } +} +var directiveHandlers = { + YAML: function handleYamlDirective(state, name, args) { + var match, major, minor; + if (state.version !== null) { + throwError(state, "duplication of %YAML directive"); + } + if (args.length !== 1) { + throwError(state, "YAML directive accepts exactly one argument"); + } + match = /^([0-9]+)\.([0-9]+)$/.exec(args[0]); + if (match === null) { + throwError(state, "ill-formed argument of the YAML directive"); + } + major = parseInt(match[1], 10); + minor = parseInt(match[2], 10); + if (major !== 1) { + throwError(state, "unacceptable YAML version of the document"); + } + state.version = args[0]; + state.checkLineBreaks = minor < 2; + if (minor !== 1 && minor !== 2) { + throwWarning(state, "unsupported YAML version of the document"); + } + }, + TAG: function handleTagDirective(state, name, args) { + var handle, prefix; + if (args.length !== 2) { + throwError(state, "TAG directive accepts exactly two arguments"); + } + handle = args[0]; + prefix = args[1]; + if (!PATTERN_TAG_HANDLE.test(handle)) { + throwError(state, "ill-formed tag handle (first argument) of the TAG directive"); + } + if (_hasOwnProperty$1.call(state.tagMap, handle)) { + throwError(state, 'there is a previously declared suffix for "' + handle + '" tag handle'); + } + if (!PATTERN_TAG_URI.test(prefix)) { + throwError(state, "ill-formed tag prefix (second argument) of the TAG directive"); + } + try { + prefix = decodeURIComponent(prefix); + } catch (err) { + throwError(state, "tag prefix is malformed: " + prefix); + } + state.tagMap[handle] = prefix; + } +}; +function captureSegment(state, start, end, checkJson) { + var _position, _length, _character, _result; + if (start < end) { + _result = state.input.slice(start, end); + if (checkJson) { + for (_position = 0, _length = _result.length; _position < _length; _position += 1) { + _character = _result.charCodeAt(_position); + if (!(_character === 9 || 32 <= _character && _character <= 1114111)) { + throwError(state, "expected valid JSON character"); + } + } + } else if (PATTERN_NON_PRINTABLE.test(_result)) { + throwError(state, "the stream contains non-printable characters"); + } + state.result += _result; + } +} +function mergeMappings(state, destination, source2, overridableKeys) { + var sourceKeys, key2, index, quantity; + if (!common.isObject(source2)) { + throwError(state, "cannot merge mappings; the provided source object is unacceptable"); + } + sourceKeys = Object.keys(source2); + for (index = 0, quantity = sourceKeys.length; index < quantity; index += 1) { + key2 = sourceKeys[index]; + if (!_hasOwnProperty$1.call(destination, key2)) { + destination[key2] = source2[key2]; + overridableKeys[key2] = true; + } + } +} +function storeMappingPair(state, _result, overridableKeys, keyTag, keyNode, valueNode, startLine, startLineStart, startPos) { + var index, quantity; + if (Array.isArray(keyNode)) { + keyNode = Array.prototype.slice.call(keyNode); + for (index = 0, quantity = keyNode.length; index < quantity; index += 1) { + if (Array.isArray(keyNode[index])) { + throwError(state, "nested arrays are not supported inside keys"); + } + if (typeof keyNode === "object" && _class(keyNode[index]) === "[object Object]") { + keyNode[index] = "[object Object]"; + } + } + } + if (typeof keyNode === "object" && _class(keyNode) === "[object Object]") { + keyNode = "[object Object]"; + } + keyNode = String(keyNode); + if (_result === null) { + _result = {}; + } + if (keyTag === "tag:yaml.org,2002:merge") { + if (Array.isArray(valueNode)) { + for (index = 0, quantity = valueNode.length; index < quantity; index += 1) { + mergeMappings(state, _result, valueNode[index], overridableKeys); + } + } else { + mergeMappings(state, _result, valueNode, overridableKeys); + } + } else { + if (!state.json && !_hasOwnProperty$1.call(overridableKeys, keyNode) && _hasOwnProperty$1.call(_result, keyNode)) { + state.line = startLine || state.line; + state.lineStart = startLineStart || state.lineStart; + state.position = startPos || state.position; + throwError(state, "duplicated mapping key"); + } + if (keyNode === "__proto__") { + Object.defineProperty(_result, keyNode, { + configurable: true, + enumerable: true, + writable: true, + value: valueNode + }); + } else { + _result[keyNode] = valueNode; + } + delete overridableKeys[keyNode]; + } + return _result; +} +function readLineBreak(state) { + var ch; + ch = state.input.charCodeAt(state.position); + if (ch === 10) { + state.position++; + } else if (ch === 13) { + state.position++; + if (state.input.charCodeAt(state.position) === 10) { + state.position++; + } + } else { + throwError(state, "a line break is expected"); + } + state.line += 1; + state.lineStart = state.position; + state.firstTabInLine = -1; +} +function skipSeparationSpace(state, allowComments, checkIndent) { + var lineBreaks = 0, ch = state.input.charCodeAt(state.position); + while (ch !== 0) { + while (is_WHITE_SPACE(ch)) { + if (ch === 9 && state.firstTabInLine === -1) { + state.firstTabInLine = state.position; + } + ch = state.input.charCodeAt(++state.position); + } + if (allowComments && ch === 35) { + do { + ch = state.input.charCodeAt(++state.position); + } while (ch !== 10 && ch !== 13 && ch !== 0); + } + if (is_EOL(ch)) { + readLineBreak(state); + ch = state.input.charCodeAt(state.position); + lineBreaks++; + state.lineIndent = 0; + while (ch === 32) { + state.lineIndent++; + ch = state.input.charCodeAt(++state.position); + } + } else { + break; + } + } + if (checkIndent !== -1 && lineBreaks !== 0 && state.lineIndent < checkIndent) { + throwWarning(state, "deficient indentation"); + } + return lineBreaks; +} +function testDocumentSeparator(state) { + var _position = state.position, ch; + ch = state.input.charCodeAt(_position); + if ((ch === 45 || ch === 46) && ch === state.input.charCodeAt(_position + 1) && ch === state.input.charCodeAt(_position + 2)) { + _position += 3; + ch = state.input.charCodeAt(_position); + if (ch === 0 || is_WS_OR_EOL(ch)) { + return true; + } + } + return false; +} +function writeFoldedLines(state, count) { + if (count === 1) { + state.result += " "; + } else if (count > 1) { + state.result += common.repeat("\n", count - 1); + } +} +function readPlainScalar(state, nodeIndent, withinFlowCollection) { + var preceding, following, captureStart, captureEnd, hasPendingContent, _line, _lineStart, _lineIndent, _kind = state.kind, _result = state.result, ch; + ch = state.input.charCodeAt(state.position); + if (is_WS_OR_EOL(ch) || is_FLOW_INDICATOR(ch) || ch === 35 || ch === 38 || ch === 42 || ch === 33 || ch === 124 || ch === 62 || ch === 39 || ch === 34 || ch === 37 || ch === 64 || ch === 96) { + return false; + } + if (ch === 63 || ch === 45) { + following = state.input.charCodeAt(state.position + 1); + if (is_WS_OR_EOL(following) || withinFlowCollection && is_FLOW_INDICATOR(following)) { + return false; + } + } + state.kind = "scalar"; + state.result = ""; + captureStart = captureEnd = state.position; + hasPendingContent = false; + while (ch !== 0) { + if (ch === 58) { + following = state.input.charCodeAt(state.position + 1); + if (is_WS_OR_EOL(following) || withinFlowCollection && is_FLOW_INDICATOR(following)) { + break; + } + } else if (ch === 35) { + preceding = state.input.charCodeAt(state.position - 1); + if (is_WS_OR_EOL(preceding)) { + break; + } + } else if (state.position === state.lineStart && testDocumentSeparator(state) || withinFlowCollection && is_FLOW_INDICATOR(ch)) { + break; + } else if (is_EOL(ch)) { + _line = state.line; + _lineStart = state.lineStart; + _lineIndent = state.lineIndent; + skipSeparationSpace(state, false, -1); + if (state.lineIndent >= nodeIndent) { + hasPendingContent = true; + ch = state.input.charCodeAt(state.position); + continue; + } else { + state.position = captureEnd; + state.line = _line; + state.lineStart = _lineStart; + state.lineIndent = _lineIndent; + break; + } + } + if (hasPendingContent) { + captureSegment(state, captureStart, captureEnd, false); + writeFoldedLines(state, state.line - _line); + captureStart = captureEnd = state.position; + hasPendingContent = false; + } + if (!is_WHITE_SPACE(ch)) { + captureEnd = state.position + 1; + } + ch = state.input.charCodeAt(++state.position); + } + captureSegment(state, captureStart, captureEnd, false); + if (state.result) { + return true; + } + state.kind = _kind; + state.result = _result; + return false; +} +function readSingleQuotedScalar(state, nodeIndent) { + var ch, captureStart, captureEnd; + ch = state.input.charCodeAt(state.position); + if (ch !== 39) { + return false; + } + state.kind = "scalar"; + state.result = ""; + state.position++; + captureStart = captureEnd = state.position; + while ((ch = state.input.charCodeAt(state.position)) !== 0) { + if (ch === 39) { + captureSegment(state, captureStart, state.position, true); + ch = state.input.charCodeAt(++state.position); + if (ch === 39) { + captureStart = state.position; + state.position++; + captureEnd = state.position; + } else { + return true; + } + } else if (is_EOL(ch)) { + captureSegment(state, captureStart, captureEnd, true); + writeFoldedLines(state, skipSeparationSpace(state, false, nodeIndent)); + captureStart = captureEnd = state.position; + } else if (state.position === state.lineStart && testDocumentSeparator(state)) { + throwError(state, "unexpected end of the document within a single quoted scalar"); + } else { + state.position++; + captureEnd = state.position; + } + } + throwError(state, "unexpected end of the stream within a single quoted scalar"); +} +function readDoubleQuotedScalar(state, nodeIndent) { + var captureStart, captureEnd, hexLength, hexResult, tmp, ch; + ch = state.input.charCodeAt(state.position); + if (ch !== 34) { + return false; + } + state.kind = "scalar"; + state.result = ""; + state.position++; + captureStart = captureEnd = state.position; + while ((ch = state.input.charCodeAt(state.position)) !== 0) { + if (ch === 34) { + captureSegment(state, captureStart, state.position, true); + state.position++; + return true; + } else if (ch === 92) { + captureSegment(state, captureStart, state.position, true); + ch = state.input.charCodeAt(++state.position); + if (is_EOL(ch)) { + skipSeparationSpace(state, false, nodeIndent); + } else if (ch < 256 && simpleEscapeCheck[ch]) { + state.result += simpleEscapeMap[ch]; + state.position++; + } else if ((tmp = escapedHexLen(ch)) > 0) { + hexLength = tmp; + hexResult = 0; + for (; hexLength > 0; hexLength--) { + ch = state.input.charCodeAt(++state.position); + if ((tmp = fromHexCode(ch)) >= 0) { + hexResult = (hexResult << 4) + tmp; + } else { + throwError(state, "expected hexadecimal character"); + } + } + state.result += charFromCodepoint(hexResult); + state.position++; + } else { + throwError(state, "unknown escape sequence"); + } + captureStart = captureEnd = state.position; + } else if (is_EOL(ch)) { + captureSegment(state, captureStart, captureEnd, true); + writeFoldedLines(state, skipSeparationSpace(state, false, nodeIndent)); + captureStart = captureEnd = state.position; + } else if (state.position === state.lineStart && testDocumentSeparator(state)) { + throwError(state, "unexpected end of the document within a double quoted scalar"); + } else { + state.position++; + captureEnd = state.position; + } + } + throwError(state, "unexpected end of the stream within a double quoted scalar"); +} +function readFlowCollection(state, nodeIndent) { + var readNext = true, _line, _lineStart, _pos, _tag = state.tag, _result, _anchor = state.anchor, following, terminator, isPair, isExplicitPair, isMapping, overridableKeys = /* @__PURE__ */ Object.create(null), keyNode, keyTag, valueNode, ch; + ch = state.input.charCodeAt(state.position); + if (ch === 91) { + terminator = 93; + isMapping = false; + _result = []; + } else if (ch === 123) { + terminator = 125; + isMapping = true; + _result = {}; + } else { + return false; + } + if (state.anchor !== null) { + state.anchorMap[state.anchor] = _result; + } + ch = state.input.charCodeAt(++state.position); + while (ch !== 0) { + skipSeparationSpace(state, true, nodeIndent); + ch = state.input.charCodeAt(state.position); + if (ch === terminator) { + state.position++; + state.tag = _tag; + state.anchor = _anchor; + state.kind = isMapping ? "mapping" : "sequence"; + state.result = _result; + return true; + } else if (!readNext) { + throwError(state, "missed comma between flow collection entries"); + } else if (ch === 44) { + throwError(state, "expected the node content, but found ','"); + } + keyTag = keyNode = valueNode = null; + isPair = isExplicitPair = false; + if (ch === 63) { + following = state.input.charCodeAt(state.position + 1); + if (is_WS_OR_EOL(following)) { + isPair = isExplicitPair = true; + state.position++; + skipSeparationSpace(state, true, nodeIndent); + } + } + _line = state.line; + _lineStart = state.lineStart; + _pos = state.position; + composeNode(state, nodeIndent, CONTEXT_FLOW_IN, false, true); + keyTag = state.tag; + keyNode = state.result; + skipSeparationSpace(state, true, nodeIndent); + ch = state.input.charCodeAt(state.position); + if ((isExplicitPair || state.line === _line) && ch === 58) { + isPair = true; + ch = state.input.charCodeAt(++state.position); + skipSeparationSpace(state, true, nodeIndent); + composeNode(state, nodeIndent, CONTEXT_FLOW_IN, false, true); + valueNode = state.result; + } + if (isMapping) { + storeMappingPair(state, _result, overridableKeys, keyTag, keyNode, valueNode, _line, _lineStart, _pos); + } else if (isPair) { + _result.push(storeMappingPair(state, null, overridableKeys, keyTag, keyNode, valueNode, _line, _lineStart, _pos)); + } else { + _result.push(keyNode); + } + skipSeparationSpace(state, true, nodeIndent); + ch = state.input.charCodeAt(state.position); + if (ch === 44) { + readNext = true; + ch = state.input.charCodeAt(++state.position); + } else { + readNext = false; + } + } + throwError(state, "unexpected end of the stream within a flow collection"); +} +function readBlockScalar(state, nodeIndent) { + var captureStart, folding, chomping = CHOMPING_CLIP, didReadContent = false, detectedIndent = false, textIndent = nodeIndent, emptyLines = 0, atMoreIndented = false, tmp, ch; + ch = state.input.charCodeAt(state.position); + if (ch === 124) { + folding = false; + } else if (ch === 62) { + folding = true; + } else { + return false; + } + state.kind = "scalar"; + state.result = ""; + while (ch !== 0) { + ch = state.input.charCodeAt(++state.position); + if (ch === 43 || ch === 45) { + if (CHOMPING_CLIP === chomping) { + chomping = ch === 43 ? CHOMPING_KEEP : CHOMPING_STRIP; + } else { + throwError(state, "repeat of a chomping mode identifier"); + } + } else if ((tmp = fromDecimalCode(ch)) >= 0) { + if (tmp === 0) { + throwError(state, "bad explicit indentation width of a block scalar; it cannot be less than one"); + } else if (!detectedIndent) { + textIndent = nodeIndent + tmp - 1; + detectedIndent = true; + } else { + throwError(state, "repeat of an indentation width identifier"); + } + } else { + break; + } + } + if (is_WHITE_SPACE(ch)) { + do { + ch = state.input.charCodeAt(++state.position); + } while (is_WHITE_SPACE(ch)); + if (ch === 35) { + do { + ch = state.input.charCodeAt(++state.position); + } while (!is_EOL(ch) && ch !== 0); + } + } + while (ch !== 0) { + readLineBreak(state); + state.lineIndent = 0; + ch = state.input.charCodeAt(state.position); + while ((!detectedIndent || state.lineIndent < textIndent) && ch === 32) { + state.lineIndent++; + ch = state.input.charCodeAt(++state.position); + } + if (!detectedIndent && state.lineIndent > textIndent) { + textIndent = state.lineIndent; + } + if (is_EOL(ch)) { + emptyLines++; + continue; + } + if (state.lineIndent < textIndent) { + if (chomping === CHOMPING_KEEP) { + state.result += common.repeat("\n", didReadContent ? 1 + emptyLines : emptyLines); + } else if (chomping === CHOMPING_CLIP) { + if (didReadContent) { + state.result += "\n"; + } + } + break; + } + if (folding) { + if (is_WHITE_SPACE(ch)) { + atMoreIndented = true; + state.result += common.repeat("\n", didReadContent ? 1 + emptyLines : emptyLines); + } else if (atMoreIndented) { + atMoreIndented = false; + state.result += common.repeat("\n", emptyLines + 1); + } else if (emptyLines === 0) { + if (didReadContent) { + state.result += " "; + } + } else { + state.result += common.repeat("\n", emptyLines); + } + } else { + state.result += common.repeat("\n", didReadContent ? 1 + emptyLines : emptyLines); + } + didReadContent = true; + detectedIndent = true; + emptyLines = 0; + captureStart = state.position; + while (!is_EOL(ch) && ch !== 0) { + ch = state.input.charCodeAt(++state.position); + } + captureSegment(state, captureStart, state.position, false); + } + return true; +} +function readBlockSequence(state, nodeIndent) { + var _line, _tag = state.tag, _anchor = state.anchor, _result = [], following, detected = false, ch; + if (state.firstTabInLine !== -1) + return false; + if (state.anchor !== null) { + state.anchorMap[state.anchor] = _result; + } + ch = state.input.charCodeAt(state.position); + while (ch !== 0) { + if (state.firstTabInLine !== -1) { + state.position = state.firstTabInLine; + throwError(state, "tab characters must not be used in indentation"); + } + if (ch !== 45) { + break; + } + following = state.input.charCodeAt(state.position + 1); + if (!is_WS_OR_EOL(following)) { + break; + } + detected = true; + state.position++; + if (skipSeparationSpace(state, true, -1)) { + if (state.lineIndent <= nodeIndent) { + _result.push(null); + ch = state.input.charCodeAt(state.position); + continue; + } + } + _line = state.line; + composeNode(state, nodeIndent, CONTEXT_BLOCK_IN, false, true); + _result.push(state.result); + skipSeparationSpace(state, true, -1); + ch = state.input.charCodeAt(state.position); + if ((state.line === _line || state.lineIndent > nodeIndent) && ch !== 0) { + throwError(state, "bad indentation of a sequence entry"); + } else if (state.lineIndent < nodeIndent) { + break; + } + } + if (detected) { + state.tag = _tag; + state.anchor = _anchor; + state.kind = "sequence"; + state.result = _result; + return true; + } + return false; +} +function readBlockMapping(state, nodeIndent, flowIndent) { + var following, allowCompact, _line, _keyLine, _keyLineStart, _keyPos, _tag = state.tag, _anchor = state.anchor, _result = {}, overridableKeys = /* @__PURE__ */ Object.create(null), keyTag = null, keyNode = null, valueNode = null, atExplicitKey = false, detected = false, ch; + if (state.firstTabInLine !== -1) + return false; + if (state.anchor !== null) { + state.anchorMap[state.anchor] = _result; + } + ch = state.input.charCodeAt(state.position); + while (ch !== 0) { + if (!atExplicitKey && state.firstTabInLine !== -1) { + state.position = state.firstTabInLine; + throwError(state, "tab characters must not be used in indentation"); + } + following = state.input.charCodeAt(state.position + 1); + _line = state.line; + if ((ch === 63 || ch === 58) && is_WS_OR_EOL(following)) { + if (ch === 63) { + if (atExplicitKey) { + storeMappingPair(state, _result, overridableKeys, keyTag, keyNode, null, _keyLine, _keyLineStart, _keyPos); + keyTag = keyNode = valueNode = null; + } + detected = true; + atExplicitKey = true; + allowCompact = true; + } else if (atExplicitKey) { + atExplicitKey = false; + allowCompact = true; + } else { + throwError(state, "incomplete explicit mapping pair; a key node is missed; or followed by a non-tabulated empty line"); + } + state.position += 1; + ch = following; + } else { + _keyLine = state.line; + _keyLineStart = state.lineStart; + _keyPos = state.position; + if (!composeNode(state, flowIndent, CONTEXT_FLOW_OUT, false, true)) { + break; + } + if (state.line === _line) { + ch = state.input.charCodeAt(state.position); + while (is_WHITE_SPACE(ch)) { + ch = state.input.charCodeAt(++state.position); + } + if (ch === 58) { + ch = state.input.charCodeAt(++state.position); + if (!is_WS_OR_EOL(ch)) { + throwError(state, "a whitespace character is expected after the key-value separator within a block mapping"); + } + if (atExplicitKey) { + storeMappingPair(state, _result, overridableKeys, keyTag, keyNode, null, _keyLine, _keyLineStart, _keyPos); + keyTag = keyNode = valueNode = null; + } + detected = true; + atExplicitKey = false; + allowCompact = false; + keyTag = state.tag; + keyNode = state.result; + } else if (detected) { + throwError(state, "can not read an implicit mapping pair; a colon is missed"); + } else { + state.tag = _tag; + state.anchor = _anchor; + return true; + } + } else if (detected) { + throwError(state, "can not read a block mapping entry; a multiline key may not be an implicit key"); + } else { + state.tag = _tag; + state.anchor = _anchor; + return true; + } + } + if (state.line === _line || state.lineIndent > nodeIndent) { + if (atExplicitKey) { + _keyLine = state.line; + _keyLineStart = state.lineStart; + _keyPos = state.position; + } + if (composeNode(state, nodeIndent, CONTEXT_BLOCK_OUT, true, allowCompact)) { + if (atExplicitKey) { + keyNode = state.result; + } else { + valueNode = state.result; + } + } + if (!atExplicitKey) { + storeMappingPair(state, _result, overridableKeys, keyTag, keyNode, valueNode, _keyLine, _keyLineStart, _keyPos); + keyTag = keyNode = valueNode = null; + } + skipSeparationSpace(state, true, -1); + ch = state.input.charCodeAt(state.position); + } + if ((state.line === _line || state.lineIndent > nodeIndent) && ch !== 0) { + throwError(state, "bad indentation of a mapping entry"); + } else if (state.lineIndent < nodeIndent) { + break; + } + } + if (atExplicitKey) { + storeMappingPair(state, _result, overridableKeys, keyTag, keyNode, null, _keyLine, _keyLineStart, _keyPos); + } + if (detected) { + state.tag = _tag; + state.anchor = _anchor; + state.kind = "mapping"; + state.result = _result; + } + return detected; +} +function readTagProperty(state) { + var _position, isVerbatim = false, isNamed = false, tagHandle, tagName, ch; + ch = state.input.charCodeAt(state.position); + if (ch !== 33) + return false; + if (state.tag !== null) { + throwError(state, "duplication of a tag property"); + } + ch = state.input.charCodeAt(++state.position); + if (ch === 60) { + isVerbatim = true; + ch = state.input.charCodeAt(++state.position); + } else if (ch === 33) { + isNamed = true; + tagHandle = "!!"; + ch = state.input.charCodeAt(++state.position); + } else { + tagHandle = "!"; + } + _position = state.position; + if (isVerbatim) { + do { + ch = state.input.charCodeAt(++state.position); + } while (ch !== 0 && ch !== 62); + if (state.position < state.length) { + tagName = state.input.slice(_position, state.position); + ch = state.input.charCodeAt(++state.position); + } else { + throwError(state, "unexpected end of the stream within a verbatim tag"); + } + } else { + while (ch !== 0 && !is_WS_OR_EOL(ch)) { + if (ch === 33) { + if (!isNamed) { + tagHandle = state.input.slice(_position - 1, state.position + 1); + if (!PATTERN_TAG_HANDLE.test(tagHandle)) { + throwError(state, "named tag handle cannot contain such characters"); + } + isNamed = true; + _position = state.position + 1; + } else { + throwError(state, "tag suffix cannot contain exclamation marks"); + } + } + ch = state.input.charCodeAt(++state.position); + } + tagName = state.input.slice(_position, state.position); + if (PATTERN_FLOW_INDICATORS.test(tagName)) { + throwError(state, "tag suffix cannot contain flow indicator characters"); + } + } + if (tagName && !PATTERN_TAG_URI.test(tagName)) { + throwError(state, "tag name cannot contain such characters: " + tagName); + } + try { + tagName = decodeURIComponent(tagName); + } catch (err) { + throwError(state, "tag name is malformed: " + tagName); + } + if (isVerbatim) { + state.tag = tagName; + } else if (_hasOwnProperty$1.call(state.tagMap, tagHandle)) { + state.tag = state.tagMap[tagHandle] + tagName; + } else if (tagHandle === "!") { + state.tag = "!" + tagName; + } else if (tagHandle === "!!") { + state.tag = "tag:yaml.org,2002:" + tagName; + } else { + throwError(state, 'undeclared tag handle "' + tagHandle + '"'); + } + return true; +} +function readAnchorProperty(state) { + var _position, ch; + ch = state.input.charCodeAt(state.position); + if (ch !== 38) + return false; + if (state.anchor !== null) { + throwError(state, "duplication of an anchor property"); + } + ch = state.input.charCodeAt(++state.position); + _position = state.position; + while (ch !== 0 && !is_WS_OR_EOL(ch) && !is_FLOW_INDICATOR(ch)) { + ch = state.input.charCodeAt(++state.position); + } + if (state.position === _position) { + throwError(state, "name of an anchor node must contain at least one character"); + } + state.anchor = state.input.slice(_position, state.position); + return true; +} +function readAlias(state) { + var _position, alias, ch; + ch = state.input.charCodeAt(state.position); + if (ch !== 42) + return false; + ch = state.input.charCodeAt(++state.position); + _position = state.position; + while (ch !== 0 && !is_WS_OR_EOL(ch) && !is_FLOW_INDICATOR(ch)) { + ch = state.input.charCodeAt(++state.position); + } + if (state.position === _position) { + throwError(state, "name of an alias node must contain at least one character"); + } + alias = state.input.slice(_position, state.position); + if (!_hasOwnProperty$1.call(state.anchorMap, alias)) { + throwError(state, 'unidentified alias "' + alias + '"'); + } + state.result = state.anchorMap[alias]; + skipSeparationSpace(state, true, -1); + return true; +} +function composeNode(state, parentIndent, nodeContext, allowToSeek, allowCompact) { + var allowBlockStyles, allowBlockScalars, allowBlockCollections, indentStatus = 1, atNewLine = false, hasContent = false, typeIndex, typeQuantity, typeList, type2, flowIndent, blockIndent; + if (state.listener !== null) { + state.listener("open", state); + } + state.tag = null; + state.anchor = null; + state.kind = null; + state.result = null; + allowBlockStyles = allowBlockScalars = allowBlockCollections = CONTEXT_BLOCK_OUT === nodeContext || CONTEXT_BLOCK_IN === nodeContext; + if (allowToSeek) { + if (skipSeparationSpace(state, true, -1)) { + atNewLine = true; + if (state.lineIndent > parentIndent) { + indentStatus = 1; + } else if (state.lineIndent === parentIndent) { + indentStatus = 0; + } else if (state.lineIndent < parentIndent) { + indentStatus = -1; + } + } + } + if (indentStatus === 1) { + while (readTagProperty(state) || readAnchorProperty(state)) { + if (skipSeparationSpace(state, true, -1)) { + atNewLine = true; + allowBlockCollections = allowBlockStyles; + if (state.lineIndent > parentIndent) { + indentStatus = 1; + } else if (state.lineIndent === parentIndent) { + indentStatus = 0; + } else if (state.lineIndent < parentIndent) { + indentStatus = -1; + } + } else { + allowBlockCollections = false; + } + } + } + if (allowBlockCollections) { + allowBlockCollections = atNewLine || allowCompact; + } + if (indentStatus === 1 || CONTEXT_BLOCK_OUT === nodeContext) { + if (CONTEXT_FLOW_IN === nodeContext || CONTEXT_FLOW_OUT === nodeContext) { + flowIndent = parentIndent; + } else { + flowIndent = parentIndent + 1; + } + blockIndent = state.position - state.lineStart; + if (indentStatus === 1) { + if (allowBlockCollections && (readBlockSequence(state, blockIndent) || readBlockMapping(state, blockIndent, flowIndent)) || readFlowCollection(state, flowIndent)) { + hasContent = true; + } else { + if (allowBlockScalars && readBlockScalar(state, flowIndent) || readSingleQuotedScalar(state, flowIndent) || readDoubleQuotedScalar(state, flowIndent)) { + hasContent = true; + } else if (readAlias(state)) { + hasContent = true; + if (state.tag !== null || state.anchor !== null) { + throwError(state, "alias node should not have any properties"); + } + } else if (readPlainScalar(state, flowIndent, CONTEXT_FLOW_IN === nodeContext)) { + hasContent = true; + if (state.tag === null) { + state.tag = "?"; + } + } + if (state.anchor !== null) { + state.anchorMap[state.anchor] = state.result; + } + } + } else if (indentStatus === 0) { + hasContent = allowBlockCollections && readBlockSequence(state, blockIndent); + } + } + if (state.tag === null) { + if (state.anchor !== null) { + state.anchorMap[state.anchor] = state.result; + } + } else if (state.tag === "?") { + if (state.result !== null && state.kind !== "scalar") { + throwError(state, 'unacceptable node kind for !<?> tag; it should be "scalar", not "' + state.kind + '"'); + } + for (typeIndex = 0, typeQuantity = state.implicitTypes.length; typeIndex < typeQuantity; typeIndex += 1) { + type2 = state.implicitTypes[typeIndex]; + if (type2.resolve(state.result)) { + state.result = type2.construct(state.result); + state.tag = type2.tag; + if (state.anchor !== null) { + state.anchorMap[state.anchor] = state.result; + } + break; + } + } + } else if (state.tag !== "!") { + if (_hasOwnProperty$1.call(state.typeMap[state.kind || "fallback"], state.tag)) { + type2 = state.typeMap[state.kind || "fallback"][state.tag]; + } else { + type2 = null; + typeList = state.typeMap.multi[state.kind || "fallback"]; + for (typeIndex = 0, typeQuantity = typeList.length; typeIndex < typeQuantity; typeIndex += 1) { + if (state.tag.slice(0, typeList[typeIndex].tag.length) === typeList[typeIndex].tag) { + type2 = typeList[typeIndex]; + break; + } + } + } + if (!type2) { + throwError(state, "unknown tag !<" + state.tag + ">"); + } + if (state.result !== null && type2.kind !== state.kind) { + throwError(state, "unacceptable node kind for !<" + state.tag + '> tag; it should be "' + type2.kind + '", not "' + state.kind + '"'); + } + if (!type2.resolve(state.result, state.tag)) { + throwError(state, "cannot resolve a node with !<" + state.tag + "> explicit tag"); + } else { + state.result = type2.construct(state.result, state.tag); + if (state.anchor !== null) { + state.anchorMap[state.anchor] = state.result; + } + } + } + if (state.listener !== null) { + state.listener("close", state); + } + return state.tag !== null || state.anchor !== null || hasContent; +} +function readDocument(state) { + var documentStart = state.position, _position, directiveName, directiveArgs, hasDirectives = false, ch; + state.version = null; + state.checkLineBreaks = state.legacy; + state.tagMap = /* @__PURE__ */ Object.create(null); + state.anchorMap = /* @__PURE__ */ Object.create(null); + while ((ch = state.input.charCodeAt(state.position)) !== 0) { + skipSeparationSpace(state, true, -1); + ch = state.input.charCodeAt(state.position); + if (state.lineIndent > 0 || ch !== 37) { + break; + } + hasDirectives = true; + ch = state.input.charCodeAt(++state.position); + _position = state.position; + while (ch !== 0 && !is_WS_OR_EOL(ch)) { + ch = state.input.charCodeAt(++state.position); + } + directiveName = state.input.slice(_position, state.position); + directiveArgs = []; + if (directiveName.length < 1) { + throwError(state, "directive name must not be less than one character in length"); + } + while (ch !== 0) { + while (is_WHITE_SPACE(ch)) { + ch = state.input.charCodeAt(++state.position); + } + if (ch === 35) { + do { + ch = state.input.charCodeAt(++state.position); + } while (ch !== 0 && !is_EOL(ch)); + break; + } + if (is_EOL(ch)) + break; + _position = state.position; + while (ch !== 0 && !is_WS_OR_EOL(ch)) { + ch = state.input.charCodeAt(++state.position); + } + directiveArgs.push(state.input.slice(_position, state.position)); + } + if (ch !== 0) + readLineBreak(state); + if (_hasOwnProperty$1.call(directiveHandlers, directiveName)) { + directiveHandlers[directiveName](state, directiveName, directiveArgs); + } else { + throwWarning(state, 'unknown document directive "' + directiveName + '"'); + } + } + skipSeparationSpace(state, true, -1); + if (state.lineIndent === 0 && state.input.charCodeAt(state.position) === 45 && state.input.charCodeAt(state.position + 1) === 45 && state.input.charCodeAt(state.position + 2) === 45) { + state.position += 3; + skipSeparationSpace(state, true, -1); + } else if (hasDirectives) { + throwError(state, "directives end mark is expected"); + } + composeNode(state, state.lineIndent - 1, CONTEXT_BLOCK_OUT, false, true); + skipSeparationSpace(state, true, -1); + if (state.checkLineBreaks && PATTERN_NON_ASCII_LINE_BREAKS.test(state.input.slice(documentStart, state.position))) { + throwWarning(state, "non-ASCII line breaks are interpreted as content"); + } + state.documents.push(state.result); + if (state.position === state.lineStart && testDocumentSeparator(state)) { + if (state.input.charCodeAt(state.position) === 46) { + state.position += 3; + skipSeparationSpace(state, true, -1); + } + return; + } + if (state.position < state.length - 1) { + throwError(state, "end of the stream or a document separator is expected"); + } else { + return; + } +} +function loadDocuments(input, options8) { + input = String(input); + options8 = options8 || {}; + if (input.length !== 0) { + if (input.charCodeAt(input.length - 1) !== 10 && input.charCodeAt(input.length - 1) !== 13) { + input += "\n"; + } + if (input.charCodeAt(0) === 65279) { + input = input.slice(1); + } + } + var state = new State$1(input, options8); + var nullpos = input.indexOf("\0"); + if (nullpos !== -1) { + state.position = nullpos; + throwError(state, "null byte is not allowed in input"); + } + state.input += "\0"; + while (state.input.charCodeAt(state.position) === 32) { + state.lineIndent += 1; + state.position += 1; + } + while (state.position < state.length - 1) { + readDocument(state); + } + return state.documents; +} +function loadAll$1(input, iterator, options8) { + if (iterator !== null && typeof iterator === "object" && typeof options8 === "undefined") { + options8 = iterator; + iterator = null; + } + var documents = loadDocuments(input, options8); + if (typeof iterator !== "function") { + return documents; + } + for (var index = 0, length = documents.length; index < length; index += 1) { + iterator(documents[index]); + } +} +function load$1(input, options8) { + var documents = loadDocuments(input, options8); + if (documents.length === 0) { + return void 0; + } else if (documents.length === 1) { + return documents[0]; + } + throw new exception("expected a single document in the stream, but found more"); +} +var loadAll_1 = loadAll$1; +var load_1 = load$1; +var loader = { + loadAll: loadAll_1, + load: load_1 +}; +var ESCAPE_SEQUENCES = {}; +ESCAPE_SEQUENCES[0] = "\\0"; +ESCAPE_SEQUENCES[7] = "\\a"; +ESCAPE_SEQUENCES[8] = "\\b"; +ESCAPE_SEQUENCES[9] = "\\t"; +ESCAPE_SEQUENCES[10] = "\\n"; +ESCAPE_SEQUENCES[11] = "\\v"; +ESCAPE_SEQUENCES[12] = "\\f"; +ESCAPE_SEQUENCES[13] = "\\r"; +ESCAPE_SEQUENCES[27] = "\\e"; +ESCAPE_SEQUENCES[34] = '\\"'; +ESCAPE_SEQUENCES[92] = "\\\\"; +ESCAPE_SEQUENCES[133] = "\\N"; +ESCAPE_SEQUENCES[160] = "\\_"; +ESCAPE_SEQUENCES[8232] = "\\L"; +ESCAPE_SEQUENCES[8233] = "\\P"; +function renamed(from, to) { + return function() { + throw new Error("Function yaml." + from + " is removed in js-yaml 4. Use yaml." + to + " instead, which is now safe by default."); + }; +} +var load = loader.load; +var loadAll = loader.loadAll; +var safeLoad = renamed("safeLoad", "load"); +var safeLoadAll = renamed("safeLoadAll", "loadAll"); +var safeDump = renamed("safeDump", "dump"); + +// node_modules/json5/dist/index.mjs +var Space_Separator = /[\u1680\u2000-\u200A\u202F\u205F\u3000]/; +var ID_Start = /[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u08A0-\u08B4\u08B6-\u08BD\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312E\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FEA\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF2D-\uDF4A\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC03-\uDC37\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDF00-\uDF19]|\uD806[\uDCA0-\uDCDF\uDCFF\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE83\uDE86-\uDE89\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50\uDF93-\uDF9F\uDFE0\uDFE1]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00-\uDD1E\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD83A[\uDC00-\uDCC4\uDD00-\uDD43]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]/; +var ID_Continue = /[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0300-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u0483-\u0487\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u05D0-\u05EA\u05F0-\u05F2\u0610-\u061A\u0620-\u0669\u066E-\u06D3\u06D5-\u06DC\u06DF-\u06E8\u06EA-\u06FC\u06FF\u0710-\u074A\u074D-\u07B1\u07C0-\u07F5\u07FA\u0800-\u082D\u0840-\u085B\u0860-\u086A\u08A0-\u08B4\u08B6-\u08BD\u08D4-\u08E1\u08E3-\u0963\u0966-\u096F\u0971-\u0983\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BC-\u09C4\u09C7\u09C8\u09CB-\u09CE\u09D7\u09DC\u09DD\u09DF-\u09E3\u09E6-\u09F1\u09FC\u0A01-\u0A03\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A59-\u0A5C\u0A5E\u0A66-\u0A75\u0A81-\u0A83\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABC-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AD0\u0AE0-\u0AE3\u0AE6-\u0AEF\u0AF9-\u0AFF\u0B01-\u0B03\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3C-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B5C\u0B5D\u0B5F-\u0B63\u0B66-\u0B6F\u0B71\u0B82\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD0\u0BD7\u0BE6-\u0BEF\u0C00-\u0C03\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C58-\u0C5A\u0C60-\u0C63\u0C66-\u0C6F\u0C80-\u0C83\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBC-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CDE\u0CE0-\u0CE3\u0CE6-\u0CEF\u0CF1\u0CF2\u0D00-\u0D03\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D44\u0D46-\u0D48\u0D4A-\u0D4E\u0D54-\u0D57\u0D5F-\u0D63\u0D66-\u0D6F\u0D7A-\u0D7F\u0D82\u0D83\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E01-\u0E3A\u0E40-\u0E4E\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB9\u0EBB-\u0EBD\u0EC0-\u0EC4\u0EC6\u0EC8-\u0ECD\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E-\u0F47\u0F49-\u0F6C\u0F71-\u0F84\u0F86-\u0F97\u0F99-\u0FBC\u0FC6\u1000-\u1049\u1050-\u109D\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u135D-\u135F\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1714\u1720-\u1734\u1740-\u1753\u1760-\u176C\u176E-\u1770\u1772\u1773\u1780-\u17D3\u17D7\u17DC\u17DD\u17E0-\u17E9\u180B-\u180D\u1810-\u1819\u1820-\u1877\u1880-\u18AA\u18B0-\u18F5\u1900-\u191E\u1920-\u192B\u1930-\u193B\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19D9\u1A00-\u1A1B\u1A20-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AA7\u1AB0-\u1ABD\u1B00-\u1B4B\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1BF3\u1C00-\u1C37\u1C40-\u1C49\u1C4D-\u1C7D\u1C80-\u1C88\u1CD0-\u1CD2\u1CD4-\u1CF9\u1D00-\u1DF9\u1DFB-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u203F\u2040\u2054\u2071\u207F\u2090-\u209C\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D7F-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2DE0-\u2DFF\u2E2F\u3005-\u3007\u3021-\u302F\u3031-\u3035\u3038-\u303C\u3041-\u3096\u3099\u309A\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312E\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FEA\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66F\uA674-\uA67D\uA67F-\uA6F1\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA827\uA840-\uA873\uA880-\uA8C5\uA8D0-\uA8D9\uA8E0-\uA8F7\uA8FB\uA8FD\uA900-\uA92D\uA930-\uA953\uA960-\uA97C\uA980-\uA9C0\uA9CF-\uA9D9\uA9E0-\uA9FE\uAA00-\uAA36\uAA40-\uAA4D\uAA50-\uAA59\uAA60-\uAA76\uAA7A-\uAAC2\uAADB-\uAADD\uAAE0-\uAAEF\uAAF2-\uAAF6\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABEA\uABEC\uABED\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF3F\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDDFD\uDE80-\uDE9C\uDEA0-\uDED0\uDEE0\uDF00-\uDF1F\uDF2D-\uDF4A\uDF50-\uDF7A\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCA0-\uDCA9\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00-\uDE03\uDE05\uDE06\uDE0C-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE38-\uDE3A\uDE3F\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE6\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC00-\uDC46\uDC66-\uDC6F\uDC7F-\uDCBA\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD00-\uDD34\uDD36-\uDD3F\uDD50-\uDD73\uDD76\uDD80-\uDDC4\uDDCA-\uDDCC\uDDD0-\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE37\uDE3E\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEEA\uDEF0-\uDEF9\uDF00-\uDF03\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3C-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF50\uDF57\uDF5D-\uDF63\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDC00-\uDC4A\uDC50-\uDC59\uDC80-\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDB5\uDDB8-\uDDC0\uDDD8-\uDDDD\uDE00-\uDE40\uDE44\uDE50-\uDE59\uDE80-\uDEB7\uDEC0-\uDEC9\uDF00-\uDF19\uDF1D-\uDF2B\uDF30-\uDF39]|\uD806[\uDCA0-\uDCE9\uDCFF\uDE00-\uDE3E\uDE47\uDE50-\uDE83\uDE86-\uDE99\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC36\uDC38-\uDC40\uDC50-\uDC59\uDC72-\uDC8F\uDC92-\uDCA7\uDCA9-\uDCB6\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD36\uDD3A\uDD3C\uDD3D\uDD3F-\uDD47\uDD50-\uDD59]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE60-\uDE69\uDED0-\uDEED\uDEF0-\uDEF4\uDF00-\uDF36\uDF40-\uDF43\uDF50-\uDF59\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50-\uDF7E\uDF8F-\uDF9F\uDFE0\uDFE1]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00-\uDD1E\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99\uDC9D\uDC9E]|\uD834[\uDD65-\uDD69\uDD6D-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB\uDFCE-\uDFFF]|\uD836[\uDE00-\uDE36\uDE3B-\uDE6C\uDE75\uDE84\uDE9B-\uDE9F\uDEA1-\uDEAF]|\uD838[\uDC00-\uDC06\uDC08-\uDC18\uDC1B-\uDC21\uDC23\uDC24\uDC26-\uDC2A]|\uD83A[\uDC00-\uDCC4\uDCD0-\uDCD6\uDD00-\uDD4A\uDD50-\uDD59]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]|\uDB40[\uDD00-\uDDEF]/; +var unicode = { + Space_Separator, + ID_Start, + ID_Continue +}; +var util = { + isSpaceSeparator(c2) { + return typeof c2 === "string" && unicode.Space_Separator.test(c2); + }, + isIdStartChar(c2) { + return typeof c2 === "string" && (c2 >= "a" && c2 <= "z" || c2 >= "A" && c2 <= "Z" || c2 === "$" || c2 === "_" || unicode.ID_Start.test(c2)); + }, + isIdContinueChar(c2) { + return typeof c2 === "string" && (c2 >= "a" && c2 <= "z" || c2 >= "A" && c2 <= "Z" || c2 >= "0" && c2 <= "9" || c2 === "$" || c2 === "_" || c2 === "\u200C" || c2 === "\u200D" || unicode.ID_Continue.test(c2)); + }, + isDigit(c2) { + return typeof c2 === "string" && /[0-9]/.test(c2); + }, + isHexDigit(c2) { + return typeof c2 === "string" && /[0-9A-Fa-f]/.test(c2); + } +}; +var source; +var parseState; +var stack; +var pos; +var line; +var column; +var token; +var key; +var root; +var parse2 = function parse3(text, reviver) { + source = String(text); + parseState = "start"; + stack = []; + pos = 0; + line = 1; + column = 0; + token = void 0; + key = void 0; + root = void 0; + do { + token = lex(); + parseStates[parseState](); + } while (token.type !== "eof"); + if (typeof reviver === "function") { + return internalize({ "": root }, "", reviver); + } + return root; +}; +function internalize(holder, name, reviver) { + const value = holder[name]; + if (value != null && typeof value === "object") { + if (Array.isArray(value)) { + for (let i = 0; i < value.length; i++) { + const key2 = String(i); + const replacement = internalize(value, key2, reviver); + if (replacement === void 0) { + delete value[key2]; + } else { + Object.defineProperty(value, key2, { + value: replacement, + writable: true, + enumerable: true, + configurable: true + }); + } + } + } else { + for (const key2 in value) { + const replacement = internalize(value, key2, reviver); + if (replacement === void 0) { + delete value[key2]; + } else { + Object.defineProperty(value, key2, { + value: replacement, + writable: true, + enumerable: true, + configurable: true + }); + } + } + } + } + return reviver.call(holder, name, value); +} +var lexState; +var buffer; +var doubleQuote; +var sign; +var c; +function lex() { + lexState = "default"; + buffer = ""; + doubleQuote = false; + sign = 1; + for (; ; ) { + c = peek(); + const token2 = lexStates[lexState](); + if (token2) { + return token2; + } + } +} +function peek() { + if (source[pos]) { + return String.fromCodePoint(source.codePointAt(pos)); + } +} +function read() { + const c2 = peek(); + if (c2 === "\n") { + line++; + column = 0; + } else if (c2) { + column += c2.length; + } else { + column++; + } + if (c2) { + pos += c2.length; + } + return c2; +} +var lexStates = { + default() { + switch (c) { + case " ": + case "\v": + case "\f": + case " ": + case "\xA0": + case "\uFEFF": + case "\n": + case "\r": + case "\u2028": + case "\u2029": + read(); + return; + case "/": + read(); + lexState = "comment"; + return; + case void 0: + read(); + return newToken("eof"); + } + if (util.isSpaceSeparator(c)) { + read(); + return; + } + return lexStates[parseState](); + }, + comment() { + switch (c) { + case "*": + read(); + lexState = "multiLineComment"; + return; + case "/": + read(); + lexState = "singleLineComment"; + return; + } + throw invalidChar(read()); + }, + multiLineComment() { + switch (c) { + case "*": + read(); + lexState = "multiLineCommentAsterisk"; + return; + case void 0: + throw invalidChar(read()); + } + read(); + }, + multiLineCommentAsterisk() { + switch (c) { + case "*": + read(); + return; + case "/": + read(); + lexState = "default"; + return; + case void 0: + throw invalidChar(read()); + } + read(); + lexState = "multiLineComment"; + }, + singleLineComment() { + switch (c) { + case "\n": + case "\r": + case "\u2028": + case "\u2029": + read(); + lexState = "default"; + return; + case void 0: + read(); + return newToken("eof"); + } + read(); + }, + value() { + switch (c) { + case "{": + case "[": + return newToken("punctuator", read()); + case "n": + read(); + literal("ull"); + return newToken("null", null); + case "t": + read(); + literal("rue"); + return newToken("boolean", true); + case "f": + read(); + literal("alse"); + return newToken("boolean", false); + case "-": + case "+": + if (read() === "-") { + sign = -1; + } + lexState = "sign"; + return; + case ".": + buffer = read(); + lexState = "decimalPointLeading"; + return; + case "0": + buffer = read(); + lexState = "zero"; + return; + case "1": + case "2": + case "3": + case "4": + case "5": + case "6": + case "7": + case "8": + case "9": + buffer = read(); + lexState = "decimalInteger"; + return; + case "I": + read(); + literal("nfinity"); + return newToken("numeric", Infinity); + case "N": + read(); + literal("aN"); + return newToken("numeric", NaN); + case '"': + case "'": + doubleQuote = read() === '"'; + buffer = ""; + lexState = "string"; + return; + } + throw invalidChar(read()); + }, + identifierNameStartEscape() { + if (c !== "u") { + throw invalidChar(read()); + } + read(); + const u = unicodeEscape(); + switch (u) { + case "$": + case "_": + break; + default: + if (!util.isIdStartChar(u)) { + throw invalidIdentifier(); + } + break; + } + buffer += u; + lexState = "identifierName"; + }, + identifierName() { + switch (c) { + case "$": + case "_": + case "\u200C": + case "\u200D": + buffer += read(); + return; + case "\\": + read(); + lexState = "identifierNameEscape"; + return; + } + if (util.isIdContinueChar(c)) { + buffer += read(); + return; + } + return newToken("identifier", buffer); + }, + identifierNameEscape() { + if (c !== "u") { + throw invalidChar(read()); + } + read(); + const u = unicodeEscape(); + switch (u) { + case "$": + case "_": + case "\u200C": + case "\u200D": + break; + default: + if (!util.isIdContinueChar(u)) { + throw invalidIdentifier(); + } + break; + } + buffer += u; + lexState = "identifierName"; + }, + sign() { + switch (c) { + case ".": + buffer = read(); + lexState = "decimalPointLeading"; + return; + case "0": + buffer = read(); + lexState = "zero"; + return; + case "1": + case "2": + case "3": + case "4": + case "5": + case "6": + case "7": + case "8": + case "9": + buffer = read(); + lexState = "decimalInteger"; + return; + case "I": + read(); + literal("nfinity"); + return newToken("numeric", sign * Infinity); + case "N": + read(); + literal("aN"); + return newToken("numeric", NaN); + } + throw invalidChar(read()); + }, + zero() { + switch (c) { + case ".": + buffer += read(); + lexState = "decimalPoint"; + return; + case "e": + case "E": + buffer += read(); + lexState = "decimalExponent"; + return; + case "x": + case "X": + buffer += read(); + lexState = "hexadecimal"; + return; + } + return newToken("numeric", sign * 0); + }, + decimalInteger() { + switch (c) { + case ".": + buffer += read(); + lexState = "decimalPoint"; + return; + case "e": + case "E": + buffer += read(); + lexState = "decimalExponent"; + return; + } + if (util.isDigit(c)) { + buffer += read(); + return; + } + return newToken("numeric", sign * Number(buffer)); + }, + decimalPointLeading() { + if (util.isDigit(c)) { + buffer += read(); + lexState = "decimalFraction"; + return; + } + throw invalidChar(read()); + }, + decimalPoint() { + switch (c) { + case "e": + case "E": + buffer += read(); + lexState = "decimalExponent"; + return; + } + if (util.isDigit(c)) { + buffer += read(); + lexState = "decimalFraction"; + return; + } + return newToken("numeric", sign * Number(buffer)); + }, + decimalFraction() { + switch (c) { + case "e": + case "E": + buffer += read(); + lexState = "decimalExponent"; + return; + } + if (util.isDigit(c)) { + buffer += read(); + return; + } + return newToken("numeric", sign * Number(buffer)); + }, + decimalExponent() { + switch (c) { + case "+": + case "-": + buffer += read(); + lexState = "decimalExponentSign"; + return; + } + if (util.isDigit(c)) { + buffer += read(); + lexState = "decimalExponentInteger"; + return; + } + throw invalidChar(read()); + }, + decimalExponentSign() { + if (util.isDigit(c)) { + buffer += read(); + lexState = "decimalExponentInteger"; + return; + } + throw invalidChar(read()); + }, + decimalExponentInteger() { + if (util.isDigit(c)) { + buffer += read(); + return; + } + return newToken("numeric", sign * Number(buffer)); + }, + hexadecimal() { + if (util.isHexDigit(c)) { + buffer += read(); + lexState = "hexadecimalInteger"; + return; + } + throw invalidChar(read()); + }, + hexadecimalInteger() { + if (util.isHexDigit(c)) { + buffer += read(); + return; + } + return newToken("numeric", sign * Number(buffer)); + }, + string() { + switch (c) { + case "\\": + read(); + buffer += escape(); + return; + case '"': + if (doubleQuote) { + read(); + return newToken("string", buffer); + } + buffer += read(); + return; + case "'": + if (!doubleQuote) { + read(); + return newToken("string", buffer); + } + buffer += read(); + return; + case "\n": + case "\r": + throw invalidChar(read()); + case "\u2028": + case "\u2029": + separatorChar(c); + break; + case void 0: + throw invalidChar(read()); + } + buffer += read(); + }, + start() { + switch (c) { + case "{": + case "[": + return newToken("punctuator", read()); + } + lexState = "value"; + }, + beforePropertyName() { + switch (c) { + case "$": + case "_": + buffer = read(); + lexState = "identifierName"; + return; + case "\\": + read(); + lexState = "identifierNameStartEscape"; + return; + case "}": + return newToken("punctuator", read()); + case '"': + case "'": + doubleQuote = read() === '"'; + lexState = "string"; + return; + } + if (util.isIdStartChar(c)) { + buffer += read(); + lexState = "identifierName"; + return; + } + throw invalidChar(read()); + }, + afterPropertyName() { + if (c === ":") { + return newToken("punctuator", read()); + } + throw invalidChar(read()); + }, + beforePropertyValue() { + lexState = "value"; + }, + afterPropertyValue() { + switch (c) { + case ",": + case "}": + return newToken("punctuator", read()); + } + throw invalidChar(read()); + }, + beforeArrayValue() { + if (c === "]") { + return newToken("punctuator", read()); + } + lexState = "value"; + }, + afterArrayValue() { + switch (c) { + case ",": + case "]": + return newToken("punctuator", read()); + } + throw invalidChar(read()); + }, + end() { + throw invalidChar(read()); + } +}; +function newToken(type2, value) { + return { + type: type2, + value, + line, + column + }; +} +function literal(s) { + for (const c2 of s) { + const p = peek(); + if (p !== c2) { + throw invalidChar(read()); + } + read(); + } +} +function escape() { + const c2 = peek(); + switch (c2) { + case "b": + read(); + return "\b"; + case "f": + read(); + return "\f"; + case "n": + read(); + return "\n"; + case "r": + read(); + return "\r"; + case "t": + read(); + return " "; + case "v": + read(); + return "\v"; + case "0": + read(); + if (util.isDigit(peek())) { + throw invalidChar(read()); + } + return "\0"; + case "x": + read(); + return hexEscape(); + case "u": + read(); + return unicodeEscape(); + case "\n": + case "\u2028": + case "\u2029": + read(); + return ""; + case "\r": + read(); + if (peek() === "\n") { + read(); + } + return ""; + case "1": + case "2": + case "3": + case "4": + case "5": + case "6": + case "7": + case "8": + case "9": + throw invalidChar(read()); + case void 0: + throw invalidChar(read()); + } + return read(); +} +function hexEscape() { + let buffer2 = ""; + let c2 = peek(); + if (!util.isHexDigit(c2)) { + throw invalidChar(read()); + } + buffer2 += read(); + c2 = peek(); + if (!util.isHexDigit(c2)) { + throw invalidChar(read()); + } + buffer2 += read(); + return String.fromCodePoint(parseInt(buffer2, 16)); +} +function unicodeEscape() { + let buffer2 = ""; + let count = 4; + while (count-- > 0) { + const c2 = peek(); + if (!util.isHexDigit(c2)) { + throw invalidChar(read()); + } + buffer2 += read(); + } + return String.fromCodePoint(parseInt(buffer2, 16)); +} +var parseStates = { + start() { + if (token.type === "eof") { + throw invalidEOF(); + } + push(); + }, + beforePropertyName() { + switch (token.type) { + case "identifier": + case "string": + key = token.value; + parseState = "afterPropertyName"; + return; + case "punctuator": + pop(); + return; + case "eof": + throw invalidEOF(); + } + }, + afterPropertyName() { + if (token.type === "eof") { + throw invalidEOF(); + } + parseState = "beforePropertyValue"; + }, + beforePropertyValue() { + if (token.type === "eof") { + throw invalidEOF(); + } + push(); + }, + beforeArrayValue() { + if (token.type === "eof") { + throw invalidEOF(); + } + if (token.type === "punctuator" && token.value === "]") { + pop(); + return; + } + push(); + }, + afterPropertyValue() { + if (token.type === "eof") { + throw invalidEOF(); + } + switch (token.value) { + case ",": + parseState = "beforePropertyName"; + return; + case "}": + pop(); + } + }, + afterArrayValue() { + if (token.type === "eof") { + throw invalidEOF(); + } + switch (token.value) { + case ",": + parseState = "beforeArrayValue"; + return; + case "]": + pop(); + } + }, + end() { + } +}; +function push() { + let value; + switch (token.type) { + case "punctuator": + switch (token.value) { + case "{": + value = {}; + break; + case "[": + value = []; + break; + } + break; + case "null": + case "boolean": + case "numeric": + case "string": + value = token.value; + break; + } + if (root === void 0) { + root = value; + } else { + const parent = stack[stack.length - 1]; + if (Array.isArray(parent)) { + parent.push(value); + } else { + Object.defineProperty(parent, key, { + value, + writable: true, + enumerable: true, + configurable: true + }); + } + } + if (value !== null && typeof value === "object") { + stack.push(value); + if (Array.isArray(value)) { + parseState = "beforeArrayValue"; + } else { + parseState = "beforePropertyName"; + } + } else { + const current = stack[stack.length - 1]; + if (current == null) { + parseState = "end"; + } else if (Array.isArray(current)) { + parseState = "afterArrayValue"; + } else { + parseState = "afterPropertyValue"; + } + } +} +function pop() { + stack.pop(); + const current = stack[stack.length - 1]; + if (current == null) { + parseState = "end"; + } else if (Array.isArray(current)) { + parseState = "afterArrayValue"; + } else { + parseState = "afterPropertyValue"; + } +} +function invalidChar(c2) { + if (c2 === void 0) { + return syntaxError(`JSON5: invalid end of input at ${line}:${column}`); + } + return syntaxError(`JSON5: invalid character '${formatChar(c2)}' at ${line}:${column}`); +} +function invalidEOF() { + return syntaxError(`JSON5: invalid end of input at ${line}:${column}`); +} +function invalidIdentifier() { + column -= 5; + return syntaxError(`JSON5: invalid identifier character at ${line}:${column}`); +} +function separatorChar(c2) { + console.warn(`JSON5: '${formatChar(c2)}' in strings is not valid ECMAScript; consider escaping`); +} +function formatChar(c2) { + const replacements = { + "'": "\\'", + '"': '\\"', + "\\": "\\\\", + "\b": "\\b", + "\f": "\\f", + "\n": "\\n", + "\r": "\\r", + " ": "\\t", + "\v": "\\v", + "\0": "\\0", + "\u2028": "\\u2028", + "\u2029": "\\u2029" + }; + if (replacements[c2]) { + return replacements[c2]; + } + if (c2 < " ") { + const hexString = c2.charCodeAt(0).toString(16); + return "\\x" + ("00" + hexString).substring(hexString.length); + } + return c2; +} +function syntaxError(message) { + const err = new SyntaxError(message); + err.lineNumber = line; + err.columnNumber = column; + return err; +} +var dist_default = { parse: parse2 }; + +// node_modules/parse-json/index.js +var import_code_frame = __toESM(require_lib3(), 1); + +// node_modules/index-to-position/index.js +var safeLastIndexOf = (string, searchString, index) => index < 0 ? -1 : string.lastIndexOf(searchString, index); +function getPosition(text, textIndex) { + const lineBreakBefore = safeLastIndexOf(text, "\n", textIndex - 1); + const column2 = textIndex - lineBreakBefore - 1; + let line3 = 0; + for (let index = lineBreakBefore; index >= 0; index = safeLastIndexOf(text, "\n", index - 1)) { + line3++; + } + return { line: line3, column: column2 }; +} +function indexToLineColumn(text, textIndex, { oneBased = false } = {}) { + if (textIndex < 0 || textIndex >= text.length && text.length > 0) { + throw new RangeError("Index out of bounds"); + } + const position = getPosition(text, textIndex); + return oneBased ? { line: position.line + 1, column: position.column + 1 } : position; +} + +// node_modules/parse-json/index.js +var getCodePoint = (character) => `\\u{${character.codePointAt(0).toString(16)}}`; +var _message; +var _JSONError = class _JSONError extends Error { + constructor(message) { + var _a; + super(); + __publicField(this, "name", "JSONError"); + __publicField(this, "fileName"); + __publicField(this, "codeFrame"); + __publicField(this, "rawCodeFrame"); + __privateAdd(this, _message, void 0); + __privateSet(this, _message, message); + (_a = Error.captureStackTrace) == null ? void 0 : _a.call(Error, this, _JSONError); + } + get message() { + const { fileName, codeFrame } = this; + return `${__privateGet(this, _message)}${fileName ? ` in ${fileName}` : ""}${codeFrame ? ` + +${codeFrame} +` : ""}`; + } + set message(message) { + __privateSet(this, _message, message); + } +}; +_message = new WeakMap(); +var JSONError = _JSONError; +var generateCodeFrame = (string, location, highlightCode = true) => (0, import_code_frame.codeFrameColumns)(string, { start: location }, { highlightCode }); +var getErrorLocation = (string, message) => { + const match = message.match(/in JSON at position (?<index>\d+)(?: \(line (?<line>\d+) column (?<column>\d+)\))?$/); + if (!match) { + return; + } + let { index, line: line3, column: column2 } = match.groups; + if (line3 && column2) { + return { line: Number(line3), column: Number(column2) }; + } + index = Number(index); + if (index === string.length) { + const { line: line4, column: column3 } = indexToLineColumn(string, string.length - 1, { oneBased: true }); + return { line: line4, column: column3 + 1 }; + } + return indexToLineColumn(string, index, { oneBased: true }); +}; +var addCodePointToUnexpectedToken = (message) => message.replace( + // TODO[engine:node@>=20]: The token always quoted after Node.js 20 + /(?<=^Unexpected token )(?<quote>')?(.)\k<quote>/, + (_, _quote, token2) => `"${token2}"(${getCodePoint(token2)})` +); +function parseJson(string, reviver, fileName) { + if (typeof reviver === "string") { + fileName = reviver; + reviver = void 0; + } + let message; + try { + return JSON.parse(string, reviver); + } catch (error) { + message = error.message; + } + let location; + if (string) { + location = getErrorLocation(string, message); + message = addCodePointToUnexpectedToken(message); + } else { + message += " while parsing empty string"; + } + const jsonError = new JSONError(message); + jsonError.fileName = fileName; + if (location) { + jsonError.codeFrame = generateCodeFrame(string, location); + jsonError.rawCodeFrame = generateCodeFrame( + string, + location, + /* highlightCode */ + false + ); + } + throw jsonError; +} + +// src/utils/read-file.js +import fs4 from "fs/promises"; +async function readFile(file) { + if (isUrlString(file)) { + file = new URL(file); + } + try { + return await fs4.readFile(file, "utf8"); + } catch (error) { + if (error.code === "ENOENT") { + return; + } + throw new Error(`Unable to read '${file}': ${error.message}`); + } +} +var read_file_default = readFile; + +// src/config/prettier-config/loaders.js +async function readJson(file) { + const content = await read_file_default(file); + try { + return parseJson(content); + } catch (error) { + error.message = `JSON Error in ${file}: +${error.message}`; + throw error; + } +} +async function loadJs(file) { + const module = await import(pathToFileURL2(file).href); + return module.default; +} +async function loadConfigFromPackageJson(file) { + const { prettier } = await readJson(file); + return prettier; +} +async function loadYaml(file) { + const content = await read_file_default(file); + try { + return load(content); + } catch (error) { + error.message = `YAML Error in ${file}: +${error.message}`; + throw error; + } +} +var loaders = { + async ".toml"(file) { + const content = await read_file_default(file); + try { + return await (0, import_parse_async.default)(content); + } catch (error) { + error.message = `TOML Error in ${file}: +${error.message}`; + throw error; + } + }, + async ".json5"(file) { + const content = await read_file_default(file); + try { + return dist_default.parse(content); + } catch (error) { + error.message = `JSON5 Error in ${file}: +${error.message}`; + throw error; + } + }, + ".json": readJson, + ".js": loadJs, + ".mjs": loadJs, + ".cjs": loadJs, + ".yaml": loadYaml, + ".yml": loadYaml, + // No extension + "": loadYaml +}; +var loaders_default = loaders; + +// src/config/prettier-config/config-searcher.js +var CONFIG_FILE_NAMES = [ + "package.json", + ".prettierrc", + ".prettierrc.json", + ".prettierrc.yaml", + ".prettierrc.yml", + ".prettierrc.json5", + ".prettierrc.js", + ".prettierrc.mjs", + ".prettierrc.cjs", + "prettier.config.js", + "prettier.config.mjs", + "prettier.config.cjs", + ".prettierrc.toml" +]; +async function filter({ name, path: file }) { + if (!await is_file_default(file)) { + return false; + } + if (name === "package.json") { + try { + return Boolean(await loadConfigFromPackageJson(file)); + } catch { + return false; + } + } + return true; +} +function getSearcher(stopDirectory) { + return new searcher_default({ names: CONFIG_FILE_NAMES, filter, stopDirectory }); +} +var config_searcher_default = getSearcher; + +// src/config/prettier-config/load-config.js +import path7 from "path"; + +// src/utils/import-from-file.js +import { pathToFileURL as pathToFileURL4 } from "url"; + +// node_modules/import-meta-resolve/lib/resolve.js +import assert3 from "assert"; +import { Stats, statSync, realpathSync } from "fs"; +import process3 from "process"; +import { URL as URL3, fileURLToPath as fileURLToPath5, pathToFileURL as pathToFileURL3 } from "url"; +import path6 from "path"; +import { builtinModules } from "module"; + +// node_modules/import-meta-resolve/lib/get-format.js +import { fileURLToPath as fileURLToPath4 } from "url"; + +// node_modules/import-meta-resolve/lib/package-config.js +import { URL as URL2, fileURLToPath as fileURLToPath3 } from "url"; + +// node_modules/import-meta-resolve/lib/package-json-reader.js +import fs5 from "fs"; +import path5 from "path"; +import { fileURLToPath as fileURLToPath2 } from "url"; + +// node_modules/import-meta-resolve/lib/errors.js +import v8 from "v8"; +import assert2 from "assert"; +import { format, inspect } from "util"; +var own = {}.hasOwnProperty; +var classRegExp = /^([A-Z][a-z\d]*)+$/; +var kTypes = /* @__PURE__ */ new Set([ + "string", + "function", + "number", + "object", + // Accept 'Function' and 'Object' as alternative to the lower cased version. + "Function", + "Object", + "boolean", + "bigint", + "symbol" +]); +var codes = {}; +function formatList(array2, type2 = "and") { + return array2.length < 3 ? array2.join(` ${type2} `) : `${array2.slice(0, -1).join(", ")}, ${type2} ${array2[array2.length - 1]}`; +} +var messages = /* @__PURE__ */ new Map(); +var nodeInternalPrefix = "__node_internal_"; +var userStackTraceLimit; +codes.ERR_INVALID_ARG_TYPE = createError( + "ERR_INVALID_ARG_TYPE", + /** + * @param {string} name + * @param {Array<string> | string} expected + * @param {unknown} actual + */ + (name, expected, actual) => { + assert2(typeof name === "string", "'name' must be a string"); + if (!Array.isArray(expected)) { + expected = [expected]; + } + let message = "The "; + if (name.endsWith(" argument")) { + message += `${name} `; + } else { + const type2 = name.includes(".") ? "property" : "argument"; + message += `"${name}" ${type2} `; + } + message += "must be "; + const types = []; + const instances = []; + const other = []; + for (const value of expected) { + assert2( + typeof value === "string", + "All expected entries have to be of type string" + ); + if (kTypes.has(value)) { + types.push(value.toLowerCase()); + } else if (classRegExp.exec(value) === null) { + assert2( + value !== "object", + 'The value "object" should be written as "Object"' + ); + other.push(value); + } else { + instances.push(value); + } + } + if (instances.length > 0) { + const pos2 = types.indexOf("object"); + if (pos2 !== -1) { + types.slice(pos2, 1); + instances.push("Object"); + } + } + if (types.length > 0) { + message += `${types.length > 1 ? "one of type" : "of type"} ${formatList( + types, + "or" + )}`; + if (instances.length > 0 || other.length > 0) + message += " or "; + } + if (instances.length > 0) { + message += `an instance of ${formatList(instances, "or")}`; + if (other.length > 0) + message += " or "; + } + if (other.length > 0) { + if (other.length > 1) { + message += `one of ${formatList(other, "or")}`; + } else { + if (other[0].toLowerCase() !== other[0]) + message += "an "; + message += `${other[0]}`; + } + } + message += `. Received ${determineSpecificType(actual)}`; + return message; + }, + TypeError +); +codes.ERR_INVALID_MODULE_SPECIFIER = createError( + "ERR_INVALID_MODULE_SPECIFIER", + /** + * @param {string} request + * @param {string} reason + * @param {string} [base] + */ + (request, reason, base = void 0) => { + return `Invalid module "${request}" ${reason}${base ? ` imported from ${base}` : ""}`; + }, + TypeError +); +codes.ERR_INVALID_PACKAGE_CONFIG = createError( + "ERR_INVALID_PACKAGE_CONFIG", + /** + * @param {string} path + * @param {string} [base] + * @param {string} [message] + */ + (path13, base, message) => { + return `Invalid package config ${path13}${base ? ` while importing ${base}` : ""}${message ? `. ${message}` : ""}`; + }, + Error +); +codes.ERR_INVALID_PACKAGE_TARGET = createError( + "ERR_INVALID_PACKAGE_TARGET", + /** + * @param {string} pkgPath + * @param {string} key + * @param {unknown} target + * @param {boolean} [isImport=false] + * @param {string} [base] + */ + (pkgPath, key2, target, isImport = false, base = void 0) => { + const relError = typeof target === "string" && !isImport && target.length > 0 && !target.startsWith("./"); + if (key2 === ".") { + assert2(isImport === false); + return `Invalid "exports" main target ${JSON.stringify(target)} defined in the package config ${pkgPath}package.json${base ? ` imported from ${base}` : ""}${relError ? '; targets must start with "./"' : ""}`; + } + return `Invalid "${isImport ? "imports" : "exports"}" target ${JSON.stringify( + target + )} defined for '${key2}' in the package config ${pkgPath}package.json${base ? ` imported from ${base}` : ""}${relError ? '; targets must start with "./"' : ""}`; + }, + Error +); +codes.ERR_MODULE_NOT_FOUND = createError( + "ERR_MODULE_NOT_FOUND", + /** + * @param {string} path + * @param {string} base + * @param {boolean} [exactUrl] + */ + (path13, base, exactUrl = false) => { + return `Cannot find ${exactUrl ? "module" : "package"} '${path13}' imported from ${base}`; + }, + Error +); +codes.ERR_NETWORK_IMPORT_DISALLOWED = createError( + "ERR_NETWORK_IMPORT_DISALLOWED", + "import of '%s' by %s is not supported: %s", + Error +); +codes.ERR_PACKAGE_IMPORT_NOT_DEFINED = createError( + "ERR_PACKAGE_IMPORT_NOT_DEFINED", + /** + * @param {string} specifier + * @param {string} packagePath + * @param {string} base + */ + (specifier, packagePath, base) => { + return `Package import specifier "${specifier}" is not defined${packagePath ? ` in package ${packagePath}package.json` : ""} imported from ${base}`; + }, + TypeError +); +codes.ERR_PACKAGE_PATH_NOT_EXPORTED = createError( + "ERR_PACKAGE_PATH_NOT_EXPORTED", + /** + * @param {string} pkgPath + * @param {string} subpath + * @param {string} [base] + */ + (pkgPath, subpath, base = void 0) => { + if (subpath === ".") + return `No "exports" main defined in ${pkgPath}package.json${base ? ` imported from ${base}` : ""}`; + return `Package subpath '${subpath}' is not defined by "exports" in ${pkgPath}package.json${base ? ` imported from ${base}` : ""}`; + }, + Error +); +codes.ERR_UNSUPPORTED_DIR_IMPORT = createError( + "ERR_UNSUPPORTED_DIR_IMPORT", + "Directory import '%s' is not supported resolving ES modules imported from %s", + Error +); +codes.ERR_UNKNOWN_FILE_EXTENSION = createError( + "ERR_UNKNOWN_FILE_EXTENSION", + /** + * @param {string} ext + * @param {string} path + */ + (ext, path13) => { + return `Unknown file extension "${ext}" for ${path13}`; + }, + TypeError +); +codes.ERR_INVALID_ARG_VALUE = createError( + "ERR_INVALID_ARG_VALUE", + /** + * @param {string} name + * @param {unknown} value + * @param {string} [reason='is invalid'] + */ + (name, value, reason = "is invalid") => { + let inspected = inspect(value); + if (inspected.length > 128) { + inspected = `${inspected.slice(0, 128)}...`; + } + const type2 = name.includes(".") ? "property" : "argument"; + return `The ${type2} '${name}' ${reason}. Received ${inspected}`; + }, + TypeError + // Note: extra classes have been shaken out. + // , RangeError +); +function createError(sym, value, def) { + messages.set(sym, value); + return makeNodeErrorWithCode(def, sym); +} +function makeNodeErrorWithCode(Base, key2) { + return NodeError; + function NodeError(...args) { + const limit = Error.stackTraceLimit; + if (isErrorStackTraceLimitWritable()) + Error.stackTraceLimit = 0; + const error = new Base(); + if (isErrorStackTraceLimitWritable()) + Error.stackTraceLimit = limit; + const message = getMessage(key2, args, error); + Object.defineProperties(error, { + // Note: no need to implement `kIsNodeError` symbol, would be hard, + // probably. + message: { + value: message, + enumerable: false, + writable: true, + configurable: true + }, + toString: { + /** @this {Error} */ + value() { + return `${this.name} [${key2}]: ${this.message}`; + }, + enumerable: false, + writable: true, + configurable: true + } + }); + captureLargerStackTrace(error); + error.code = key2; + return error; + } +} +function isErrorStackTraceLimitWritable() { + try { + if (v8.startupSnapshot.isBuildingSnapshot()) { + return false; + } + } catch { + } + const desc = Object.getOwnPropertyDescriptor(Error, "stackTraceLimit"); + if (desc === void 0) { + return Object.isExtensible(Error); + } + return own.call(desc, "writable") && desc.writable !== void 0 ? desc.writable : desc.set !== void 0; +} +function hideStackFrames(fn) { + const hidden = nodeInternalPrefix + fn.name; + Object.defineProperty(fn, "name", { value: hidden }); + return fn; +} +var captureLargerStackTrace = hideStackFrames( + /** + * @param {Error} error + * @returns {Error} + */ + // @ts-expect-error: fine + function(error) { + const stackTraceLimitIsWritable = isErrorStackTraceLimitWritable(); + if (stackTraceLimitIsWritable) { + userStackTraceLimit = Error.stackTraceLimit; + Error.stackTraceLimit = Number.POSITIVE_INFINITY; + } + Error.captureStackTrace(error); + if (stackTraceLimitIsWritable) + Error.stackTraceLimit = userStackTraceLimit; + return error; + } +); +function getMessage(key2, args, self) { + const message = messages.get(key2); + assert2(message !== void 0, "expected `message` to be found"); + if (typeof message === "function") { + assert2( + message.length <= args.length, + // Default options do not count. + `Code: ${key2}; The provided arguments length (${args.length}) does not match the required ones (${message.length}).` + ); + return Reflect.apply(message, self, args); + } + const regex = /%[dfijoOs]/g; + let expectedLength = 0; + while (regex.exec(message) !== null) + expectedLength++; + assert2( + expectedLength === args.length, + `Code: ${key2}; The provided arguments length (${args.length}) does not match the required ones (${expectedLength}).` + ); + if (args.length === 0) + return message; + args.unshift(message); + return Reflect.apply(format, null, args); +} +function determineSpecificType(value) { + if (value === null || value === void 0) { + return String(value); + } + if (typeof value === "function" && value.name) { + return `function ${value.name}`; + } + if (typeof value === "object") { + if (value.constructor && value.constructor.name) { + return `an instance of ${value.constructor.name}`; + } + return `${inspect(value, { depth: -1 })}`; + } + let inspected = inspect(value, { colors: false }); + if (inspected.length > 28) { + inspected = `${inspected.slice(0, 25)}...`; + } + return `type ${typeof value} (${inspected})`; +} + +// node_modules/import-meta-resolve/lib/package-json-reader.js +var hasOwnProperty = {}.hasOwnProperty; +var { ERR_INVALID_PACKAGE_CONFIG } = codes; +var cache = /* @__PURE__ */ new Map(); +var reader = { read: read2 }; +var package_json_reader_default = reader; +function read2(jsonPath, { base, specifier }) { + const existing = cache.get(jsonPath); + if (existing) { + return existing; + } + let string; + try { + string = fs5.readFileSync(path5.toNamespacedPath(jsonPath), "utf8"); + } catch (error) { + const exception2 = ( + /** @type {ErrnoException} */ + error + ); + if (exception2.code !== "ENOENT") { + throw exception2; + } + } + const result = { + exists: false, + pjsonPath: jsonPath, + main: void 0, + name: void 0, + type: "none", + // Ignore unknown types for forwards compatibility + exports: void 0, + imports: void 0 + }; + if (string !== void 0) { + let parsed; + try { + parsed = JSON.parse(string); + } catch (error_) { + const cause = ( + /** @type {ErrnoException} */ + error_ + ); + const error = new ERR_INVALID_PACKAGE_CONFIG( + jsonPath, + (base ? `"${specifier}" from ` : "") + fileURLToPath2(base || specifier), + cause.message + ); + error.cause = cause; + throw error; + } + result.exists = true; + if (hasOwnProperty.call(parsed, "name") && typeof parsed.name === "string") { + result.name = parsed.name; + } + if (hasOwnProperty.call(parsed, "main") && typeof parsed.main === "string") { + result.main = parsed.main; + } + if (hasOwnProperty.call(parsed, "exports")) { + result.exports = parsed.exports; + } + if (hasOwnProperty.call(parsed, "imports")) { + result.imports = parsed.imports; + } + if (hasOwnProperty.call(parsed, "type") && (parsed.type === "commonjs" || parsed.type === "module")) { + result.type = parsed.type; + } + } + cache.set(jsonPath, result); + return result; +} + +// node_modules/import-meta-resolve/lib/package-config.js +function getPackageScopeConfig(resolved) { + let packageJSONUrl = new URL2("package.json", resolved); + while (true) { + const packageJSONPath2 = packageJSONUrl.pathname; + if (packageJSONPath2.endsWith("node_modules/package.json")) { + break; + } + const packageConfig = package_json_reader_default.read( + fileURLToPath3(packageJSONUrl), + { specifier: resolved } + ); + if (packageConfig.exists) { + return packageConfig; + } + const lastPackageJSONUrl = packageJSONUrl; + packageJSONUrl = new URL2("../package.json", packageJSONUrl); + if (packageJSONUrl.pathname === lastPackageJSONUrl.pathname) { + break; + } + } + const packageJSONPath = fileURLToPath3(packageJSONUrl); + return { + pjsonPath: packageJSONPath, + exists: false, + main: void 0, + name: void 0, + type: "none", + exports: void 0, + imports: void 0 + }; +} + +// node_modules/import-meta-resolve/lib/resolve-get-package-type.js +function getPackageType(url2) { + const packageConfig = getPackageScopeConfig(url2); + return packageConfig.type; +} + +// node_modules/import-meta-resolve/lib/get-format.js +var { ERR_UNKNOWN_FILE_EXTENSION } = codes; +var hasOwnProperty2 = {}.hasOwnProperty; +var extensionFormatMap = { + // @ts-expect-error: hush. + __proto__: null, + ".cjs": "commonjs", + ".js": "module", + ".json": "json", + ".mjs": "module" +}; +function mimeToFormat(mime) { + if (mime && /\s*(text|application)\/javascript\s*(;\s*charset=utf-?8\s*)?/i.test(mime)) + return "module"; + if (mime === "application/json") + return "json"; + return null; +} +var protocolHandlers = { + // @ts-expect-error: hush. + __proto__: null, + "data:": getDataProtocolModuleFormat, + "file:": getFileProtocolModuleFormat, + "http:": getHttpProtocolModuleFormat, + "https:": getHttpProtocolModuleFormat, + "node:"() { + return "builtin"; + } +}; +function getDataProtocolModuleFormat(parsed) { + const { 1: mime } = /^([^/]+\/[^;,]+)[^,]*?(;base64)?,/.exec( + parsed.pathname + ) || [null, null, null]; + return mimeToFormat(mime); +} +function extname(url2) { + const pathname = url2.pathname; + let index = pathname.length; + while (index--) { + const code = pathname.codePointAt(index); + if (code === 47) { + return ""; + } + if (code === 46) { + return pathname.codePointAt(index - 1) === 47 ? "" : pathname.slice(index); + } + } + return ""; +} +function getFileProtocolModuleFormat(url2, _context, ignoreErrors) { + const ext = extname(url2); + if (ext === ".js") { + const packageType = getPackageType(url2); + if (packageType !== "none") { + return packageType; + } + return "commonjs"; + } + if (ext === "") { + const packageType = getPackageType(url2); + if (packageType === "none" || packageType === "commonjs") { + return "commonjs"; + } + return "module"; + } + const format3 = extensionFormatMap[ext]; + if (format3) + return format3; + if (ignoreErrors) { + return void 0; + } + const filepath = fileURLToPath4(url2); + throw new ERR_UNKNOWN_FILE_EXTENSION(ext, filepath); +} +function getHttpProtocolModuleFormat() { +} +function defaultGetFormatWithoutErrors(url2, context) { + const protocol = url2.protocol; + if (!hasOwnProperty2.call(protocolHandlers, protocol)) { + return null; + } + return protocolHandlers[protocol](url2, context, true) || null; +} + +// node_modules/import-meta-resolve/lib/utils.js +var { ERR_INVALID_ARG_VALUE } = codes; +var DEFAULT_CONDITIONS = Object.freeze(["node", "import"]); +var DEFAULT_CONDITIONS_SET = new Set(DEFAULT_CONDITIONS); +function getDefaultConditions() { + return DEFAULT_CONDITIONS; +} +function getDefaultConditionsSet() { + return DEFAULT_CONDITIONS_SET; +} +function getConditionsSet(conditions) { + if (conditions !== void 0 && conditions !== getDefaultConditions()) { + if (!Array.isArray(conditions)) { + throw new ERR_INVALID_ARG_VALUE( + "conditions", + conditions, + "expected an array" + ); + } + return new Set(conditions); + } + return getDefaultConditionsSet(); +} + +// node_modules/import-meta-resolve/lib/resolve.js +var RegExpPrototypeSymbolReplace = RegExp.prototype[Symbol.replace]; +var { + ERR_NETWORK_IMPORT_DISALLOWED, + ERR_INVALID_MODULE_SPECIFIER, + ERR_INVALID_PACKAGE_CONFIG: ERR_INVALID_PACKAGE_CONFIG2, + ERR_INVALID_PACKAGE_TARGET, + ERR_MODULE_NOT_FOUND, + ERR_PACKAGE_IMPORT_NOT_DEFINED, + ERR_PACKAGE_PATH_NOT_EXPORTED, + ERR_UNSUPPORTED_DIR_IMPORT +} = codes; +var own2 = {}.hasOwnProperty; +var invalidSegmentRegEx = /(^|\\|\/)((\.|%2e)(\.|%2e)?|(n|%6e|%4e)(o|%6f|%4f)(d|%64|%44)(e|%65|%45)(_|%5f)(m|%6d|%4d)(o|%6f|%4f)(d|%64|%44)(u|%75|%55)(l|%6c|%4c)(e|%65|%45)(s|%73|%53))?(\\|\/|$)/i; +var deprecatedInvalidSegmentRegEx = /(^|\\|\/)((\.|%2e)(\.|%2e)?|(n|%6e|%4e)(o|%6f|%4f)(d|%64|%44)(e|%65|%45)(_|%5f)(m|%6d|%4d)(o|%6f|%4f)(d|%64|%44)(u|%75|%55)(l|%6c|%4c)(e|%65|%45)(s|%73|%53))(\\|\/|$)/i; +var invalidPackageNameRegEx = /^\.|%|\\/; +var patternRegEx = /\*/g; +var encodedSepRegEx = /%2f|%5c/i; +var emittedPackageWarnings = /* @__PURE__ */ new Set(); +var doubleSlashRegEx = /[/\\]{2}/; +function emitInvalidSegmentDeprecation(target, request, match, packageJsonUrl, internal, base, isTarget) { + if (process3.noDeprecation) { + return; + } + const pjsonPath = fileURLToPath5(packageJsonUrl); + const double = doubleSlashRegEx.exec(isTarget ? target : request) !== null; + process3.emitWarning( + `Use of deprecated ${double ? "double slash" : "leading or trailing slash matching"} resolving "${target}" for module request "${request}" ${request === match ? "" : `matched to "${match}" `}in the "${internal ? "imports" : "exports"}" field module resolution of the package at ${pjsonPath}${base ? ` imported from ${fileURLToPath5(base)}` : ""}.`, + "DeprecationWarning", + "DEP0166" + ); +} +function emitLegacyIndexDeprecation(url2, packageJsonUrl, base, main) { + if (process3.noDeprecation) { + return; + } + const format3 = defaultGetFormatWithoutErrors(url2, { parentURL: base.href }); + if (format3 !== "module") + return; + const urlPath = fileURLToPath5(url2.href); + const pkgPath = fileURLToPath5(new URL3(".", packageJsonUrl)); + const basePath = fileURLToPath5(base); + if (!main) { + process3.emitWarning( + `No "main" or "exports" field defined in the package.json for ${pkgPath} resolving the main entry point "${urlPath.slice( + pkgPath.length + )}", imported from ${basePath}. +Default "index" lookups for the main are deprecated for ES modules.`, + "DeprecationWarning", + "DEP0151" + ); + } else if (path6.resolve(pkgPath, main) !== urlPath) { + process3.emitWarning( + `Package ${pkgPath} has a "main" field set to "${main}", excluding the full filename and extension to the resolved file at "${urlPath.slice( + pkgPath.length + )}", imported from ${basePath}. + Automatic extension resolution of the "main" field is deprecated for ES modules.`, + "DeprecationWarning", + "DEP0151" + ); + } +} +function tryStatSync(path13) { + try { + return statSync(path13); + } catch { + return new Stats(); + } +} +function fileExists(url2) { + const stats = statSync(url2, { throwIfNoEntry: false }); + const isFile2 = stats ? stats.isFile() : void 0; + return isFile2 === null || isFile2 === void 0 ? false : isFile2; +} +function legacyMainResolve(packageJsonUrl, packageConfig, base) { + let guess; + if (packageConfig.main !== void 0) { + guess = new URL3(packageConfig.main, packageJsonUrl); + if (fileExists(guess)) + return guess; + const tries2 = [ + `./${packageConfig.main}.js`, + `./${packageConfig.main}.json`, + `./${packageConfig.main}.node`, + `./${packageConfig.main}/index.js`, + `./${packageConfig.main}/index.json`, + `./${packageConfig.main}/index.node` + ]; + let i2 = -1; + while (++i2 < tries2.length) { + guess = new URL3(tries2[i2], packageJsonUrl); + if (fileExists(guess)) + break; + guess = void 0; + } + if (guess) { + emitLegacyIndexDeprecation( + guess, + packageJsonUrl, + base, + packageConfig.main + ); + return guess; + } + } + const tries = ["./index.js", "./index.json", "./index.node"]; + let i = -1; + while (++i < tries.length) { + guess = new URL3(tries[i], packageJsonUrl); + if (fileExists(guess)) + break; + guess = void 0; + } + if (guess) { + emitLegacyIndexDeprecation(guess, packageJsonUrl, base, packageConfig.main); + return guess; + } + throw new ERR_MODULE_NOT_FOUND( + fileURLToPath5(new URL3(".", packageJsonUrl)), + fileURLToPath5(base) + ); +} +function finalizeResolution(resolved, base, preserveSymlinks) { + if (encodedSepRegEx.exec(resolved.pathname) !== null) { + throw new ERR_INVALID_MODULE_SPECIFIER( + resolved.pathname, + 'must not include encoded "/" or "\\" characters', + fileURLToPath5(base) + ); + } + let filePath; + try { + filePath = fileURLToPath5(resolved); + } catch (error) { + const cause = ( + /** @type {ErrnoException} */ + error + ); + Object.defineProperty(cause, "input", { value: String(resolved) }); + Object.defineProperty(cause, "module", { value: String(base) }); + throw cause; + } + const stats = tryStatSync( + filePath.endsWith("/") ? filePath.slice(-1) : filePath + ); + if (stats.isDirectory()) { + const error = new ERR_UNSUPPORTED_DIR_IMPORT(filePath, fileURLToPath5(base)); + error.url = String(resolved); + throw error; + } + if (!stats.isFile()) { + const error = new ERR_MODULE_NOT_FOUND( + filePath || resolved.pathname, + base && fileURLToPath5(base), + true + ); + error.url = String(resolved); + throw error; + } + if (!preserveSymlinks) { + const real = realpathSync(filePath); + const { search, hash } = resolved; + resolved = pathToFileURL3(real + (filePath.endsWith(path6.sep) ? "/" : "")); + resolved.search = search; + resolved.hash = hash; + } + return resolved; +} +function importNotDefined(specifier, packageJsonUrl, base) { + return new ERR_PACKAGE_IMPORT_NOT_DEFINED( + specifier, + packageJsonUrl && fileURLToPath5(new URL3(".", packageJsonUrl)), + fileURLToPath5(base) + ); +} +function exportsNotFound(subpath, packageJsonUrl, base) { + return new ERR_PACKAGE_PATH_NOT_EXPORTED( + fileURLToPath5(new URL3(".", packageJsonUrl)), + subpath, + base && fileURLToPath5(base) + ); +} +function throwInvalidSubpath(request, match, packageJsonUrl, internal, base) { + const reason = `request is not a valid match in pattern "${match}" for the "${internal ? "imports" : "exports"}" resolution of ${fileURLToPath5(packageJsonUrl)}`; + throw new ERR_INVALID_MODULE_SPECIFIER( + request, + reason, + base && fileURLToPath5(base) + ); +} +function invalidPackageTarget(subpath, target, packageJsonUrl, internal, base) { + target = typeof target === "object" && target !== null ? JSON.stringify(target, null, "") : `${target}`; + return new ERR_INVALID_PACKAGE_TARGET( + fileURLToPath5(new URL3(".", packageJsonUrl)), + subpath, + target, + internal, + base && fileURLToPath5(base) + ); +} +function resolvePackageTargetString(target, subpath, match, packageJsonUrl, base, pattern, internal, isPathMap, conditions) { + if (subpath !== "" && !pattern && target[target.length - 1] !== "/") + throw invalidPackageTarget(match, target, packageJsonUrl, internal, base); + if (!target.startsWith("./")) { + if (internal && !target.startsWith("../") && !target.startsWith("/")) { + let isURL2 = false; + try { + new URL3(target); + isURL2 = true; + } catch { + } + if (!isURL2) { + const exportTarget = pattern ? RegExpPrototypeSymbolReplace.call( + patternRegEx, + target, + () => subpath + ) : target + subpath; + return packageResolve(exportTarget, packageJsonUrl, conditions); + } + } + throw invalidPackageTarget(match, target, packageJsonUrl, internal, base); + } + if (invalidSegmentRegEx.exec(target.slice(2)) !== null) { + if (deprecatedInvalidSegmentRegEx.exec(target.slice(2)) === null) { + if (!isPathMap) { + const request = pattern ? match.replace("*", () => subpath) : match + subpath; + const resolvedTarget = pattern ? RegExpPrototypeSymbolReplace.call( + patternRegEx, + target, + () => subpath + ) : target; + emitInvalidSegmentDeprecation( + resolvedTarget, + request, + match, + packageJsonUrl, + internal, + base, + true + ); + } + } else { + throw invalidPackageTarget(match, target, packageJsonUrl, internal, base); + } + } + const resolved = new URL3(target, packageJsonUrl); + const resolvedPath = resolved.pathname; + const packagePath = new URL3(".", packageJsonUrl).pathname; + if (!resolvedPath.startsWith(packagePath)) + throw invalidPackageTarget(match, target, packageJsonUrl, internal, base); + if (subpath === "") + return resolved; + if (invalidSegmentRegEx.exec(subpath) !== null) { + const request = pattern ? match.replace("*", () => subpath) : match + subpath; + if (deprecatedInvalidSegmentRegEx.exec(subpath) === null) { + if (!isPathMap) { + const resolvedTarget = pattern ? RegExpPrototypeSymbolReplace.call( + patternRegEx, + target, + () => subpath + ) : target; + emitInvalidSegmentDeprecation( + resolvedTarget, + request, + match, + packageJsonUrl, + internal, + base, + false + ); + } + } else { + throwInvalidSubpath(request, match, packageJsonUrl, internal, base); + } + } + if (pattern) { + return new URL3( + RegExpPrototypeSymbolReplace.call( + patternRegEx, + resolved.href, + () => subpath + ) + ); + } + return new URL3(subpath, resolved); +} +function isArrayIndex(key2) { + const keyNumber = Number(key2); + if (`${keyNumber}` !== key2) + return false; + return keyNumber >= 0 && keyNumber < 4294967295; +} +function resolvePackageTarget(packageJsonUrl, target, subpath, packageSubpath, base, pattern, internal, isPathMap, conditions) { + if (typeof target === "string") { + return resolvePackageTargetString( + target, + subpath, + packageSubpath, + packageJsonUrl, + base, + pattern, + internal, + isPathMap, + conditions + ); + } + if (Array.isArray(target)) { + const targetList = target; + if (targetList.length === 0) + return null; + let lastException; + let i = -1; + while (++i < targetList.length) { + const targetItem = targetList[i]; + let resolveResult; + try { + resolveResult = resolvePackageTarget( + packageJsonUrl, + targetItem, + subpath, + packageSubpath, + base, + pattern, + internal, + isPathMap, + conditions + ); + } catch (error) { + const exception2 = ( + /** @type {ErrnoException} */ + error + ); + lastException = exception2; + if (exception2.code === "ERR_INVALID_PACKAGE_TARGET") + continue; + throw error; + } + if (resolveResult === void 0) + continue; + if (resolveResult === null) { + lastException = null; + continue; + } + return resolveResult; + } + if (lastException === void 0 || lastException === null) { + return null; + } + throw lastException; + } + if (typeof target === "object" && target !== null) { + const keys = Object.getOwnPropertyNames(target); + let i = -1; + while (++i < keys.length) { + const key2 = keys[i]; + if (isArrayIndex(key2)) { + throw new ERR_INVALID_PACKAGE_CONFIG2( + fileURLToPath5(packageJsonUrl), + base, + '"exports" cannot contain numeric property keys.' + ); + } + } + i = -1; + while (++i < keys.length) { + const key2 = keys[i]; + if (key2 === "default" || conditions && conditions.has(key2)) { + const conditionalTarget = ( + /** @type {unknown} */ + target[key2] + ); + const resolveResult = resolvePackageTarget( + packageJsonUrl, + conditionalTarget, + subpath, + packageSubpath, + base, + pattern, + internal, + isPathMap, + conditions + ); + if (resolveResult === void 0) + continue; + return resolveResult; + } + } + return null; + } + if (target === null) { + return null; + } + throw invalidPackageTarget( + packageSubpath, + target, + packageJsonUrl, + internal, + base + ); +} +function isConditionalExportsMainSugar(exports, packageJsonUrl, base) { + if (typeof exports === "string" || Array.isArray(exports)) + return true; + if (typeof exports !== "object" || exports === null) + return false; + const keys = Object.getOwnPropertyNames(exports); + let isConditionalSugar = false; + let i = 0; + let j = -1; + while (++j < keys.length) { + const key2 = keys[j]; + const curIsConditionalSugar = key2 === "" || key2[0] !== "."; + if (i++ === 0) { + isConditionalSugar = curIsConditionalSugar; + } else if (isConditionalSugar !== curIsConditionalSugar) { + throw new ERR_INVALID_PACKAGE_CONFIG2( + fileURLToPath5(packageJsonUrl), + base, + `"exports" cannot contain some keys starting with '.' and some not. The exports object must either be an object of package subpath keys or an object of main entry condition name keys only.` + ); + } + } + return isConditionalSugar; +} +function emitTrailingSlashPatternDeprecation(match, pjsonUrl, base) { + if (process3.noDeprecation) { + return; + } + const pjsonPath = fileURLToPath5(pjsonUrl); + if (emittedPackageWarnings.has(pjsonPath + "|" + match)) + return; + emittedPackageWarnings.add(pjsonPath + "|" + match); + process3.emitWarning( + `Use of deprecated trailing slash pattern mapping "${match}" in the "exports" field module resolution of the package at ${pjsonPath}${base ? ` imported from ${fileURLToPath5(base)}` : ""}. Mapping specifiers ending in "/" is no longer supported.`, + "DeprecationWarning", + "DEP0155" + ); +} +function packageExportsResolve(packageJsonUrl, packageSubpath, packageConfig, base, conditions) { + let exports = packageConfig.exports; + if (isConditionalExportsMainSugar(exports, packageJsonUrl, base)) { + exports = { ".": exports }; + } + if (own2.call(exports, packageSubpath) && !packageSubpath.includes("*") && !packageSubpath.endsWith("/")) { + const target = exports[packageSubpath]; + const resolveResult = resolvePackageTarget( + packageJsonUrl, + target, + "", + packageSubpath, + base, + false, + false, + false, + conditions + ); + if (resolveResult === null || resolveResult === void 0) { + throw exportsNotFound(packageSubpath, packageJsonUrl, base); + } + return resolveResult; + } + let bestMatch = ""; + let bestMatchSubpath = ""; + const keys = Object.getOwnPropertyNames(exports); + let i = -1; + while (++i < keys.length) { + const key2 = keys[i]; + const patternIndex = key2.indexOf("*"); + if (patternIndex !== -1 && packageSubpath.startsWith(key2.slice(0, patternIndex))) { + if (packageSubpath.endsWith("/")) { + emitTrailingSlashPatternDeprecation( + packageSubpath, + packageJsonUrl, + base + ); + } + const patternTrailer = key2.slice(patternIndex + 1); + if (packageSubpath.length >= key2.length && packageSubpath.endsWith(patternTrailer) && patternKeyCompare(bestMatch, key2) === 1 && key2.lastIndexOf("*") === patternIndex) { + bestMatch = key2; + bestMatchSubpath = packageSubpath.slice( + patternIndex, + packageSubpath.length - patternTrailer.length + ); + } + } + } + if (bestMatch) { + const target = ( + /** @type {unknown} */ + exports[bestMatch] + ); + const resolveResult = resolvePackageTarget( + packageJsonUrl, + target, + bestMatchSubpath, + bestMatch, + base, + true, + false, + packageSubpath.endsWith("/"), + conditions + ); + if (resolveResult === null || resolveResult === void 0) { + throw exportsNotFound(packageSubpath, packageJsonUrl, base); + } + return resolveResult; + } + throw exportsNotFound(packageSubpath, packageJsonUrl, base); +} +function patternKeyCompare(a, b) { + const aPatternIndex = a.indexOf("*"); + const bPatternIndex = b.indexOf("*"); + const baseLengthA = aPatternIndex === -1 ? a.length : aPatternIndex + 1; + const baseLengthB = bPatternIndex === -1 ? b.length : bPatternIndex + 1; + if (baseLengthA > baseLengthB) + return -1; + if (baseLengthB > baseLengthA) + return 1; + if (aPatternIndex === -1) + return 1; + if (bPatternIndex === -1) + return -1; + if (a.length > b.length) + return -1; + if (b.length > a.length) + return 1; + return 0; +} +function packageImportsResolve(name, base, conditions) { + if (name === "#" || name.startsWith("#/") || name.endsWith("/")) { + const reason = "is not a valid internal imports specifier name"; + throw new ERR_INVALID_MODULE_SPECIFIER(name, reason, fileURLToPath5(base)); + } + let packageJsonUrl; + const packageConfig = getPackageScopeConfig(base); + if (packageConfig.exists) { + packageJsonUrl = pathToFileURL3(packageConfig.pjsonPath); + const imports = packageConfig.imports; + if (imports) { + if (own2.call(imports, name) && !name.includes("*")) { + const resolveResult = resolvePackageTarget( + packageJsonUrl, + imports[name], + "", + name, + base, + false, + true, + false, + conditions + ); + if (resolveResult !== null && resolveResult !== void 0) { + return resolveResult; + } + } else { + let bestMatch = ""; + let bestMatchSubpath = ""; + const keys = Object.getOwnPropertyNames(imports); + let i = -1; + while (++i < keys.length) { + const key2 = keys[i]; + const patternIndex = key2.indexOf("*"); + if (patternIndex !== -1 && name.startsWith(key2.slice(0, -1))) { + const patternTrailer = key2.slice(patternIndex + 1); + if (name.length >= key2.length && name.endsWith(patternTrailer) && patternKeyCompare(bestMatch, key2) === 1 && key2.lastIndexOf("*") === patternIndex) { + bestMatch = key2; + bestMatchSubpath = name.slice( + patternIndex, + name.length - patternTrailer.length + ); + } + } + } + if (bestMatch) { + const target = imports[bestMatch]; + const resolveResult = resolvePackageTarget( + packageJsonUrl, + target, + bestMatchSubpath, + bestMatch, + base, + true, + true, + false, + conditions + ); + if (resolveResult !== null && resolveResult !== void 0) { + return resolveResult; + } + } + } + } + } + throw importNotDefined(name, packageJsonUrl, base); +} +function parsePackageName(specifier, base) { + let separatorIndex = specifier.indexOf("/"); + let validPackageName = true; + let isScoped = false; + if (specifier[0] === "@") { + isScoped = true; + if (separatorIndex === -1 || specifier.length === 0) { + validPackageName = false; + } else { + separatorIndex = specifier.indexOf("/", separatorIndex + 1); + } + } + const packageName = separatorIndex === -1 ? specifier : specifier.slice(0, separatorIndex); + if (invalidPackageNameRegEx.exec(packageName) !== null) { + validPackageName = false; + } + if (!validPackageName) { + throw new ERR_INVALID_MODULE_SPECIFIER( + specifier, + "is not a valid package name", + fileURLToPath5(base) + ); + } + const packageSubpath = "." + (separatorIndex === -1 ? "" : specifier.slice(separatorIndex)); + return { packageName, packageSubpath, isScoped }; +} +function packageResolve(specifier, base, conditions) { + if (builtinModules.includes(specifier)) { + return new URL3("node:" + specifier); + } + const { packageName, packageSubpath, isScoped } = parsePackageName( + specifier, + base + ); + const packageConfig = getPackageScopeConfig(base); + if (packageConfig.exists) { + const packageJsonUrl2 = pathToFileURL3(packageConfig.pjsonPath); + if (packageConfig.name === packageName && packageConfig.exports !== void 0 && packageConfig.exports !== null) { + return packageExportsResolve( + packageJsonUrl2, + packageSubpath, + packageConfig, + base, + conditions + ); + } + } + let packageJsonUrl = new URL3( + "./node_modules/" + packageName + "/package.json", + base + ); + let packageJsonPath = fileURLToPath5(packageJsonUrl); + let lastPath; + do { + const stat = tryStatSync(packageJsonPath.slice(0, -13)); + if (!stat.isDirectory()) { + lastPath = packageJsonPath; + packageJsonUrl = new URL3( + (isScoped ? "../../../../node_modules/" : "../../../node_modules/") + packageName + "/package.json", + packageJsonUrl + ); + packageJsonPath = fileURLToPath5(packageJsonUrl); + continue; + } + const packageConfig2 = package_json_reader_default.read(packageJsonPath, { + base, + specifier + }); + if (packageConfig2.exports !== void 0 && packageConfig2.exports !== null) { + return packageExportsResolve( + packageJsonUrl, + packageSubpath, + packageConfig2, + base, + conditions + ); + } + if (packageSubpath === ".") { + return legacyMainResolve(packageJsonUrl, packageConfig2, base); + } + return new URL3(packageSubpath, packageJsonUrl); + } while (packageJsonPath.length !== lastPath.length); + throw new ERR_MODULE_NOT_FOUND(packageName, fileURLToPath5(base), false); +} +function isRelativeSpecifier(specifier) { + if (specifier[0] === ".") { + if (specifier.length === 1 || specifier[1] === "/") + return true; + if (specifier[1] === "." && (specifier.length === 2 || specifier[2] === "/")) { + return true; + } + } + return false; +} +function shouldBeTreatedAsRelativeOrAbsolutePath(specifier) { + if (specifier === "") + return false; + if (specifier[0] === "/") + return true; + return isRelativeSpecifier(specifier); +} +function moduleResolve(specifier, base, conditions, preserveSymlinks) { + const protocol = base.protocol; + const isRemote = protocol === "http:" || protocol === "https:"; + let resolved; + if (shouldBeTreatedAsRelativeOrAbsolutePath(specifier)) { + resolved = new URL3(specifier, base); + } else if (!isRemote && specifier[0] === "#") { + resolved = packageImportsResolve(specifier, base, conditions); + } else { + try { + resolved = new URL3(specifier); + } catch { + if (!isRemote) { + resolved = packageResolve(specifier, base, conditions); + } + } + } + assert3(resolved !== void 0, "expected to be defined"); + if (resolved.protocol !== "file:") { + return resolved; + } + return finalizeResolution(resolved, base, preserveSymlinks); +} +function checkIfDisallowedImport(specifier, parsed, parsedParentURL) { + if (parsedParentURL) { + const parentProtocol = parsedParentURL.protocol; + if (parentProtocol === "http:" || parentProtocol === "https:") { + if (shouldBeTreatedAsRelativeOrAbsolutePath(specifier)) { + const parsedProtocol = parsed == null ? void 0 : parsed.protocol; + if (parsedProtocol && parsedProtocol !== "https:" && parsedProtocol !== "http:") { + throw new ERR_NETWORK_IMPORT_DISALLOWED( + specifier, + parsedParentURL, + "remote imports cannot import from a local location." + ); + } + return { url: (parsed == null ? void 0 : parsed.href) || "" }; + } + if (builtinModules.includes(specifier)) { + throw new ERR_NETWORK_IMPORT_DISALLOWED( + specifier, + parsedParentURL, + "remote imports cannot import from a local location." + ); + } + throw new ERR_NETWORK_IMPORT_DISALLOWED( + specifier, + parsedParentURL, + "only relative and absolute specifiers are supported." + ); + } + } +} +function isURL(self) { + return Boolean( + self && typeof self === "object" && "href" in self && typeof self.href === "string" && "protocol" in self && typeof self.protocol === "string" && self.href && self.protocol + ); +} +function throwIfInvalidParentURL(parentURL) { + if (parentURL === void 0) { + return; + } + if (typeof parentURL !== "string" && !isURL(parentURL)) { + throw new codes.ERR_INVALID_ARG_TYPE( + "parentURL", + ["string", "URL"], + parentURL + ); + } +} +function defaultResolve(specifier, context = {}) { + const { parentURL } = context; + assert3(parentURL !== void 0, "expected `parentURL` to be defined"); + throwIfInvalidParentURL(parentURL); + let parsedParentURL; + if (parentURL) { + try { + parsedParentURL = new URL3(parentURL); + } catch { + } + } + let parsed; + try { + parsed = shouldBeTreatedAsRelativeOrAbsolutePath(specifier) ? new URL3(specifier, parsedParentURL) : new URL3(specifier); + const protocol = parsed.protocol; + if (protocol === "data:") { + return { url: parsed.href, format: null }; + } + } catch { + } + const maybeReturn = checkIfDisallowedImport( + specifier, + parsed, + parsedParentURL + ); + if (maybeReturn) + return maybeReturn; + if (parsed && parsed.protocol === "node:") + return { url: specifier }; + const conditions = getConditionsSet(context.conditions); + const url2 = moduleResolve(specifier, new URL3(parentURL), conditions, false); + return { + // Do NOT cast `url` to a string: that will work even when there are real + // problems, silencing them + url: url2.href, + format: defaultGetFormatWithoutErrors(url2, { parentURL }) + }; +} + +// node_modules/import-meta-resolve/index.js +function resolve2(specifier, parent) { + if (!parent) { + throw new Error( + "Please pass `parent`: `import-meta-resolve` cannot ponyfill that" + ); + } + try { + return defaultResolve(specifier, { parentURL: parent }).url; + } catch (error) { + const exception2 = ( + /** @type {ErrnoException} */ + error + ); + if ((exception2.code === "ERR_UNSUPPORTED_DIR_IMPORT" || exception2.code === "ERR_MODULE_NOT_FOUND") && typeof exception2.url === "string") { + return exception2.url; + } + throw error; + } +} + +// src/utils/import-from-file.js +function importFromFile(specifier, parent) { + const url2 = resolve2(specifier, pathToFileURL4(parent).href); + return import(url2); +} +var import_from_file_default = importFromFile; + +// src/utils/require-from-file.js +import { createRequire } from "module"; +function requireFromFile(id, parent) { + const require2 = createRequire(parent); + return require2(id); +} +var require_from_file_default = requireFromFile; + +// src/config/prettier-config/load-external-config.js +var requireErrorCodesShouldBeIgnored = /* @__PURE__ */ new Set([ + "MODULE_NOT_FOUND", + "ERR_REQUIRE_ESM", + "ERR_PACKAGE_PATH_NOT_EXPORTED" +]); +async function loadExternalConfig(externalConfig, configFile) { + try { + return require_from_file_default(externalConfig, configFile); + } catch (error) { + if (!requireErrorCodesShouldBeIgnored.has(error == null ? void 0 : error.code)) { + throw error; + } + } + const module = await import_from_file_default(externalConfig, configFile); + return module.default; +} +var load_external_config_default = loadExternalConfig; + +// src/config/prettier-config/load-config.js +async function loadConfig(configFile) { + const { base: fileName, ext: extension } = path7.parse(configFile); + const load2 = fileName === "package.json" ? loadConfigFromPackageJson : loaders_default[extension]; + if (!load2) { + throw new Error( + `No loader specified for extension "${extension || "noExt"}"` + ); + } + let config = await load2(configFile); + if (!config) { + return; + } + if (typeof config === "string") { + config = await load_external_config_default(config, configFile); + } + if (typeof config !== "object") { + throw new TypeError( + `Config is only allowed to be an object, but received ${typeof config} in "${configFile}"` + ); + } + delete config.$schema; + return config; +} +var load_config_default = loadConfig; + +// src/config/prettier-config/index.js +var loadCache = /* @__PURE__ */ new Map(); +var searchCache = /* @__PURE__ */ new Map(); +function clearPrettierConfigCache() { + loadCache.clear(); + searchCache.clear(); +} +function loadPrettierConfig(configFile, { shouldCache }) { + configFile = path8.resolve(configFile); + if (!shouldCache || !loadCache.has(configFile)) { + loadCache.set(configFile, load_config_default(configFile)); + } + return loadCache.get(configFile); +} +function getSearchFunction(stopDirectory) { + stopDirectory = stopDirectory ? path8.resolve(stopDirectory) : void 0; + if (!searchCache.has(stopDirectory)) { + const searcher2 = config_searcher_default(stopDirectory); + const searchFunction = searcher2.search.bind(searcher2); + searchCache.set(stopDirectory, searchFunction); + } + return searchCache.get(stopDirectory); +} +function searchPrettierConfig(startDirectory, options8 = {}) { + startDirectory = startDirectory ? path8.resolve(startDirectory) : process.cwd(); + const stopDirectory = mockable_default.getPrettierConfigSearchStopDirectory(); + const search = getSearchFunction(stopDirectory); + return search(startDirectory, { shouldCache: options8.shouldCache }); +} + +// src/config/resolve-config.js +function clearCache() { + clearPrettierConfigCache(); + clearEditorconfigCache(); +} +function loadEditorconfig2(file, options8) { + if (!file || !options8.editorconfig) { + return; + } + const shouldCache = options8.useCache; + return loadEditorconfig(file, { shouldCache }); +} +async function loadPrettierConfig2(file, options8) { + const shouldCache = options8.useCache; + let configFile = options8.config; + if (!configFile) { + const directory = file ? path9.dirname(path9.resolve(file)) : void 0; + configFile = await searchPrettierConfig(directory, { shouldCache }); + } + if (!configFile) { + return; + } + const config = await loadPrettierConfig(configFile, { shouldCache }); + return { config, configFile }; +} +async function resolveConfig(fileUrlOrPath, options8) { + options8 = { useCache: true, ...options8 }; + const filePath = toPath(fileUrlOrPath); + const [result, editorConfigured] = await Promise.all([ + loadPrettierConfig2(filePath, options8), + loadEditorconfig2(filePath, options8) + ]); + if (!result && !editorConfigured) { + return null; + } + const merged = { + ...editorConfigured, + ...mergeOverrides(result, filePath) + }; + if (Array.isArray(merged.plugins)) { + merged.plugins = merged.plugins.map( + (value) => typeof value === "string" && value.startsWith(".") ? path9.resolve(path9.dirname(result.configFile), value) : value + ); + } + return merged; +} +async function resolveConfigFile(fileUrlOrPath) { + const directory = fileUrlOrPath ? path9.dirname(path9.resolve(toPath(fileUrlOrPath))) : void 0; + const result = await searchPrettierConfig(directory, { shouldCache: false }); + return result ?? null; +} +function mergeOverrides(configResult, filePath) { + const { config, configFile } = configResult || {}; + const { overrides, ...options8 } = config || {}; + if (filePath && overrides) { + const relativeFilePath = path9.relative(path9.dirname(configFile), filePath); + for (const override of overrides) { + if (pathMatchesGlobs( + relativeFilePath, + override.files, + override.excludeFiles + )) { + Object.assign(options8, override.options); + } + } + } + return options8; +} +function pathMatchesGlobs(filePath, patterns, excludedPatterns) { + const patternList = Array.isArray(patterns) ? patterns : [patterns]; + const [withSlashes, withoutSlashes] = partition_default( + patternList, + (pattern) => pattern.includes("/") + ); + return import_micromatch.default.isMatch(filePath, withoutSlashes, { + ignore: excludedPatterns, + basename: true, + dot: true + }) || import_micromatch.default.isMatch(filePath, withSlashes, { + ignore: excludedPatterns, + basename: false, + dot: true + }); +} + // scripts/build/shims/string-replace-all.js var stringReplaceAll2 = (isOptionalObject, original, pattern, replacement) => { if (isOptionalObject && (original === void 0 || original === null)) { return; } @@ -14709,13 +19129,220 @@ } return original.split(pattern).join(replacement); }; var string_replace_all_default = stringReplaceAll2; +// src/utils/ignore.js +var import_ignore = __toESM(require_ignore(), 1); +import path10 from "path"; +import url from "url"; +var createIgnore = import_ignore.default.default; +var slash = path10.sep === "\\" ? (filePath) => string_replace_all_default( + /* isOptionalObject*/ + false, + filePath, + "\\", + "/" +) : (filePath) => filePath; +function getRelativePath(file, ignoreFile) { + const ignoreFilePath = toPath(ignoreFile); + const filePath = isUrl(file) ? url.fileURLToPath(file) : path10.resolve(file); + return path10.relative( + // If there's an ignore-path set, the filename must be relative to the + // ignore path, not the current working directory. + ignoreFilePath ? path10.dirname(ignoreFilePath) : process.cwd(), + filePath + ); +} +async function createSingleIsIgnoredFunction(ignoreFile, withNodeModules) { + let content = ""; + if (ignoreFile) { + content += await read_file_default(ignoreFile) ?? ""; + } + if (!withNodeModules) { + content += "\nnode_modules"; + } + if (!content) { + return; + } + const ignore = createIgnore({ + allowRelativePaths: true + }).add(content); + return (file) => ignore.ignores(slash(getRelativePath(file, ignoreFile))); +} +async function createIsIgnoredFunction(ignoreFiles, withNodeModules) { + if (ignoreFiles.length === 0 && !withNodeModules) { + ignoreFiles = [void 0]; + } + const isIgnoredFunctions = (await Promise.all(ignoreFiles.map((ignoreFile) => createSingleIsIgnoredFunction(ignoreFile, withNodeModules)))).filter(Boolean); + return (file) => isIgnoredFunctions.some((isIgnored2) => isIgnored2(file)); +} +async function isIgnored(file, options8) { + const { + ignorePath: ignoreFiles, + withNodeModules + } = options8; + const isIgnored2 = await createIsIgnoredFunction(ignoreFiles, withNodeModules); + return isIgnored2(file); +} + +// src/utils/get-interpreter.js +var import_n_readlines = __toESM(require_readlines(), 1); +import fs6 from "fs"; +function getInterpreter(file) { + let fd; + try { + fd = fs6.openSync(file, "r"); + } catch { + return; + } + try { + const liner = new import_n_readlines.default(fd); + const firstLine = liner.next().toString("utf8"); + const m1 = firstLine.match(/^#!\/(?:usr\/)?bin\/env\s+(\S+)/); + if (m1) { + return m1[1]; + } + const m2 = firstLine.match(/^#!\/(?:usr\/(?:local\/)?)?bin\/(\S+)/); + if (m2) { + return m2[1]; + } + } finally { + try { + fs6.closeSync(fd); + } catch { + } + } +} +var get_interpreter_default = getInterpreter; + +// src/utils/infer-parser.js +var getFileBasename = (file) => String(file).split(/[/\\]/).pop(); +function getLanguageByFileName(languages2, file) { + if (!file) { + return; + } + const basename = getFileBasename(file).toLowerCase(); + return languages2.find( + (language) => { + var _a, _b; + return ((_a = language.extensions) == null ? void 0 : _a.some((extension) => basename.endsWith(extension))) || ((_b = language.filenames) == null ? void 0 : _b.some((name) => name.toLowerCase() === basename)); + } + ); +} +function getLanguageByName(languages2, languageName) { + if (!languageName) { + return; + } + return languages2.find(({ name }) => name.toLowerCase() === languageName) ?? languages2.find(({ aliases }) => aliases == null ? void 0 : aliases.includes(languageName)) ?? languages2.find(({ extensions }) => extensions == null ? void 0 : extensions.includes(`.${languageName}`)); +} +function getLanguageByInterpreter(languages2, file) { + if (!file || getFileBasename(file).includes(".")) { + return; + } + const interpreter = get_interpreter_default(file); + if (!interpreter) { + return; + } + return languages2.find( + (language) => { + var _a; + return (_a = language.interpreters) == null ? void 0 : _a.includes(interpreter); + } + ); +} +function inferParser(options8, fileInfo) { + const languages2 = options8.plugins.flatMap( + (plugin) => ( + // @ts-expect-error -- Safe + plugin.languages ?? [] + ) + ); + const language = getLanguageByName(languages2, fileInfo.language) ?? getLanguageByFileName(languages2, fileInfo.physicalFile) ?? getLanguageByFileName(languages2, fileInfo.file) ?? getLanguageByInterpreter(languages2, fileInfo.physicalFile); + return language == null ? void 0 : language.parsers[0]; +} +var infer_parser_default = inferParser; + +// src/common/get-file-info.js +async function getFileInfo(file, options8) { + if (typeof file !== "string" && !(file instanceof URL)) { + throw new TypeError( + `expect \`file\` to be a string or URL, got \`${typeof file}\`` + ); + } + let { ignorePath, withNodeModules } = options8; + if (!Array.isArray(ignorePath)) { + ignorePath = [ignorePath]; + } + const ignored = await isIgnored(file, { ignorePath, withNodeModules }); + let inferredParser; + if (!ignored) { + inferredParser = await getParser(file, options8); + } + return { + ignored, + inferredParser: inferredParser ?? null + }; +} +async function getParser(file, options8) { + let config; + if (options8.resolveConfig !== false) { + config = await resolveConfig(file); + } + return (config == null ? void 0 : config.parser) ?? infer_parser_default(options8, { physicalFile: file }); +} +var get_file_info_default = getFileInfo; + // src/main/core.js var import_diff = __toESM(require_array2(), 1); +// src/common/end-of-line.js +function guessEndOfLine(text) { + const index = text.indexOf("\r"); + if (index >= 0) { + return text.charAt(index + 1) === "\n" ? "crlf" : "cr"; + } + return "lf"; +} +function convertEndOfLineToChars(value) { + switch (value) { + case "cr": + return "\r"; + case "crlf": + return "\r\n"; + default: + return "\n"; + } +} +function countEndOfLineChars(text, eol) { + let regex; + switch (eol) { + case "\n": + regex = /\n/g; + break; + case "\r": + regex = /\r/g; + break; + case "\r\n": + regex = /\r\n/g; + break; + default: + throw new Error(`Unexpected "eol" ${JSON.stringify(eol)}.`); + } + const endOfLines = text.match(regex); + return endOfLines ? endOfLines.length : 0; +} +function normalizeEndOfLine(text) { + return string_replace_all_default( + /* isOptionalObject*/ + false, + text, + /\r\n?/g, + "\n" + ); +} + // src/document/constants.js var DOC_TYPE_STRING = "string"; var DOC_TYPE_ARRAY = "array"; var DOC_TYPE_CURSOR = "cursor"; var DOC_TYPE_INDENT = "indent"; @@ -14755,34 +19382,34 @@ return DOC_TYPE_ARRAY; } if (!doc2) { return; } - const { type } = doc2; - if (VALID_OBJECT_DOC_TYPES.has(type)) { - return type; + const { type: type2 } = doc2; + if (VALID_OBJECT_DOC_TYPES.has(type2)) { + return type2; } } var get_doc_type_default = getDocType; // src/document/invalid-doc-error.js var disjunctionListFormat = (list) => new Intl.ListFormat("en-US", { type: "disjunction" }).format(list); function getDocErrorMessage(doc2) { - const type = doc2 === null ? "null" : typeof doc2; - if (type !== "string" && type !== "object") { - return `Unexpected doc '${type}', + const type2 = doc2 === null ? "null" : typeof doc2; + if (type2 !== "string" && type2 !== "object") { + return `Unexpected doc '${type2}', Expected it to be 'string' or 'object'.`; } if (get_doc_type_default(doc2)) { throw new Error("doc is valid."); } const objectType = Object.prototype.toString.call(doc2); if (objectType !== "[object Object]") { return `Unexpected doc '${objectType}'.`; } const EXPECTED_TYPE_VALUES = disjunctionListFormat( - [...VALID_OBJECT_DOC_TYPES].map((type2) => `'${type2}'`) + [...VALID_OBJECT_DOC_TYPES].map((type3) => `'${type3}'`) ); return `Unexpected doc.type '${doc2.type}'. Expected it to be ${EXPECTED_TYPE_VALUES}.`; } var InvalidDocError = class extends Error { @@ -14898,11 +19525,11 @@ assertDoc(contents); return { type: DOC_TYPE_LINE_SUFFIX, contents }; } var breakParent = { type: DOC_TYPE_BREAK_PARENT }; var hardlineWithoutBreakParent = { type: DOC_TYPE_LINE, hard: true }; -var line = { type: DOC_TYPE_LINE }; +var line2 = { type: DOC_TYPE_LINE }; var hardline = [hardlineWithoutBreakParent, breakParent]; var cursor = { type: DOC_TYPE_CURSOR }; function addAlignmentToDoc(doc2, size, tabWidth) { assertDoc(doc2); let aligned = doc2; @@ -14914,10 +19541,151 @@ aligned = align(Number.NEGATIVE_INFINITY, aligned); } return aligned; } +// src/document/debug.js +function flattenDoc(doc2) { + var _a; + if (!doc2) { + return ""; + } + if (Array.isArray(doc2)) { + const res = []; + for (const part of doc2) { + if (Array.isArray(part)) { + res.push(...flattenDoc(part)); + } else { + const flattened = flattenDoc(part); + if (flattened !== "") { + res.push(flattened); + } + } + } + return res; + } + if (doc2.type === DOC_TYPE_IF_BREAK) { + return { + ...doc2, + breakContents: flattenDoc(doc2.breakContents), + flatContents: flattenDoc(doc2.flatContents) + }; + } + if (doc2.type === DOC_TYPE_GROUP) { + return { + ...doc2, + contents: flattenDoc(doc2.contents), + expandedStates: (_a = doc2.expandedStates) == null ? void 0 : _a.map(flattenDoc) + }; + } + if (doc2.type === DOC_TYPE_FILL) { + return { type: "fill", parts: doc2.parts.map(flattenDoc) }; + } + if (doc2.contents) { + return { ...doc2, contents: flattenDoc(doc2.contents) }; + } + return doc2; +} +function printDocToDebug(doc2) { + const printedSymbols = /* @__PURE__ */ Object.create(null); + const usedKeysForSymbols = /* @__PURE__ */ new Set(); + return printDoc(flattenDoc(doc2)); + function printDoc(doc3, index, parentParts) { + var _a, _b; + if (typeof doc3 === "string") { + return JSON.stringify(doc3); + } + if (Array.isArray(doc3)) { + const printed = doc3.map(printDoc).filter(Boolean); + return printed.length === 1 ? printed[0] : `[${printed.join(", ")}]`; + } + if (doc3.type === DOC_TYPE_LINE) { + const withBreakParent = ((_a = parentParts == null ? void 0 : parentParts[index + 1]) == null ? void 0 : _a.type) === DOC_TYPE_BREAK_PARENT; + if (doc3.literal) { + return withBreakParent ? "literalline" : "literallineWithoutBreakParent"; + } + if (doc3.hard) { + return withBreakParent ? "hardline" : "hardlineWithoutBreakParent"; + } + if (doc3.soft) { + return "softline"; + } + return "line"; + } + if (doc3.type === DOC_TYPE_BREAK_PARENT) { + const afterHardline = ((_b = parentParts == null ? void 0 : parentParts[index - 1]) == null ? void 0 : _b.type) === DOC_TYPE_LINE && parentParts[index - 1].hard; + return afterHardline ? void 0 : "breakParent"; + } + if (doc3.type === DOC_TYPE_TRIM) { + return "trim"; + } + if (doc3.type === DOC_TYPE_INDENT) { + return "indent(" + printDoc(doc3.contents) + ")"; + } + if (doc3.type === DOC_TYPE_ALIGN) { + return doc3.n === Number.NEGATIVE_INFINITY ? "dedentToRoot(" + printDoc(doc3.contents) + ")" : doc3.n < 0 ? "dedent(" + printDoc(doc3.contents) + ")" : doc3.n.type === "root" ? "markAsRoot(" + printDoc(doc3.contents) + ")" : "align(" + JSON.stringify(doc3.n) + ", " + printDoc(doc3.contents) + ")"; + } + if (doc3.type === DOC_TYPE_IF_BREAK) { + return "ifBreak(" + printDoc(doc3.breakContents) + (doc3.flatContents ? ", " + printDoc(doc3.flatContents) : "") + (doc3.groupId ? (!doc3.flatContents ? ', ""' : "") + `, { groupId: ${printGroupId(doc3.groupId)} }` : "") + ")"; + } + if (doc3.type === DOC_TYPE_INDENT_IF_BREAK) { + const optionsParts = []; + if (doc3.negate) { + optionsParts.push("negate: true"); + } + if (doc3.groupId) { + optionsParts.push(`groupId: ${printGroupId(doc3.groupId)}`); + } + const options8 = optionsParts.length > 0 ? `, { ${optionsParts.join(", ")} }` : ""; + return `indentIfBreak(${printDoc(doc3.contents)}${options8})`; + } + if (doc3.type === DOC_TYPE_GROUP) { + const optionsParts = []; + if (doc3.break && doc3.break !== "propagated") { + optionsParts.push("shouldBreak: true"); + } + if (doc3.id) { + optionsParts.push(`id: ${printGroupId(doc3.id)}`); + } + const options8 = optionsParts.length > 0 ? `, { ${optionsParts.join(", ")} }` : ""; + if (doc3.expandedStates) { + return `conditionalGroup([${doc3.expandedStates.map((part) => printDoc(part)).join(",")}]${options8})`; + } + return `group(${printDoc(doc3.contents)}${options8})`; + } + if (doc3.type === DOC_TYPE_FILL) { + return `fill([${doc3.parts.map((part) => printDoc(part)).join(", ")}])`; + } + if (doc3.type === DOC_TYPE_LINE_SUFFIX) { + return "lineSuffix(" + printDoc(doc3.contents) + ")"; + } + if (doc3.type === DOC_TYPE_LINE_SUFFIX_BOUNDARY) { + return "lineSuffixBoundary"; + } + if (doc3.type === DOC_TYPE_LABEL) { + return `label(${JSON.stringify(doc3.label)}, ${printDoc(doc3.contents)})`; + } + throw new Error("Unknown doc type " + doc3.type); + } + function printGroupId(id) { + if (typeof id !== "symbol") { + return JSON.stringify(String(id)); + } + if (id in printedSymbols) { + return printedSymbols[id]; + } + const prefix = id.description || "symbol"; + for (let counter = 0; ; counter++) { + const key2 = prefix + (counter > 0 ? ` #${counter}` : ""); + if (!usedKeysForSymbols.has(key2)) { + usedKeysForSymbols.add(key2); + return printedSymbols[id] = `Symbol.for(${JSON.stringify(key2)})`; + } + } + } +} + // scripts/build/shims/at.js var at = (isOptionalObject, object, index) => { if (isOptionalObject && (object === void 0 || object === null)) { return; } @@ -14926,83 +19694,26 @@ } return object.at(index); }; var at_default = at; -// src/common/end-of-line.js -function guessEndOfLine(text) { - const index = text.indexOf("\r"); - if (index >= 0) { - return text.charAt(index + 1) === "\n" ? "crlf" : "cr"; - } - return "lf"; -} -function convertEndOfLineToChars(value) { - switch (value) { - case "cr": - return "\r"; - case "crlf": - return "\r\n"; - default: - return "\n"; - } -} -function countEndOfLineChars(text, eol) { - let regex; - switch (eol) { - case "\n": - regex = /\n/g; - break; - case "\r": - regex = /\r/g; - break; - case "\r\n": - regex = /\r\n/g; - break; - default: - throw new Error(`Unexpected "eol" ${JSON.stringify(eol)}.`); - } - const endOfLines = text.match(regex); - return endOfLines ? endOfLines.length : 0; -} -function normalizeEndOfLine(text) { - return string_replace_all_default( - /* isOptionalObject*/ - false, - text, - /\r\n?/g, - "\n" - ); -} - // node_modules/emoji-regex/index.mjs var emoji_regex_default = () => { - return /[#*0-9]\uFE0F?\u20E3|[\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23ED-\u23EF\u23F1\u23F2\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB\u25FC\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692\u2694-\u2697\u2699\u269B\u269C\u26A0\u26A7\u26AA\u26B0\u26B1\u26BD\u26BE\u26C4\u26C8\u26CF\u26D1\u26D3\u26E9\u26F0-\u26F5\u26F7\u26F8\u26FA\u2702\u2708\u2709\u270F\u2712\u2714\u2716\u271D\u2721\u2733\u2734\u2744\u2747\u2757\u2763\u27A1\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B55\u3030\u303D\u3297\u3299]\uFE0F?|[\u261D\u270C\u270D](?:\uFE0F|\uD83C[\uDFFB-\uDFFF])?|[\u270A\u270B](?:\uD83C[\uDFFB-\uDFFF])?|[\u23E9-\u23EC\u23F0\u23F3\u25FD\u2693\u26A1\u26AB\u26C5\u26CE\u26D4\u26EA\u26FD\u2705\u2728\u274C\u274E\u2753-\u2755\u2795-\u2797\u27B0\u27BF\u2B50]|\u26F9(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|\u2764\uFE0F?(?:\u200D(?:\uD83D\uDD25|\uD83E\uDE79))?|\uD83C(?:[\uDC04\uDD70\uDD71\uDD7E\uDD7F\uDE02\uDE37\uDF21\uDF24-\uDF2C\uDF36\uDF7D\uDF96\uDF97\uDF99-\uDF9B\uDF9E\uDF9F\uDFCD\uDFCE\uDFD4-\uDFDF\uDFF5\uDFF7]\uFE0F?|[\uDF85\uDFC2\uDFC7](?:\uD83C[\uDFFB-\uDFFF])?|[\uDFC3\uDFC4\uDFCA](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDFCB\uDFCC](?:\uFE0F|\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDCCF\uDD8E\uDD91-\uDD9A\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF84\uDF86-\uDF93\uDFA0-\uDFC1\uDFC5\uDFC6\uDFC8\uDFC9\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF8-\uDFFF]|\uDDE6\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF]|\uDDE7\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF]|\uDDE8\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF5\uDDF7\uDDFA-\uDDFF]|\uDDE9\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF]|\uDDEA\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA]|\uDDEB\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7]|\uDDEC\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE]|\uDDED\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA]|\uDDEE\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9]|\uDDEF\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5]|\uDDF0\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF]|\uDDF1\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE]|\uDDF2\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF]|\uDDF3\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF]|\uDDF4\uD83C\uDDF2|\uDDF5\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE]|\uDDF6\uD83C\uDDE6|\uDDF7\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC]|\uDDF8\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF]|\uDDF9\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF]|\uDDFA\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF]|\uDDFB\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA]|\uDDFC\uD83C[\uDDEB\uDDF8]|\uDDFD\uD83C\uDDF0|\uDDFE\uD83C[\uDDEA\uDDF9]|\uDDFF\uD83C[\uDDE6\uDDF2\uDDFC]|\uDFF3\uFE0F?(?:\u200D(?:\u26A7\uFE0F?|\uD83C\uDF08))?|\uDFF4(?:\u200D\u2620\uFE0F?|\uDB40\uDC67\uDB40\uDC62\uDB40(?:\uDC65\uDB40\uDC6E\uDB40\uDC67|\uDC73\uDB40\uDC63\uDB40\uDC74|\uDC77\uDB40\uDC6C\uDB40\uDC73)\uDB40\uDC7F)?)|\uD83D(?:[\uDC08\uDC26](?:\u200D\u2B1B)?|[\uDC3F\uDCFD\uDD49\uDD4A\uDD6F\uDD70\uDD73\uDD76-\uDD79\uDD87\uDD8A-\uDD8D\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA\uDECB\uDECD-\uDECF\uDEE0-\uDEE5\uDEE9\uDEF0\uDEF3]\uFE0F?|[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDC8F\uDC91\uDCAA\uDD7A\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC](?:\uD83C[\uDFFB-\uDFFF])?|[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDD74\uDD90](?:\uFE0F|\uD83C[\uDFFB-\uDFFF])?|[\uDC00-\uDC07\uDC09-\uDC14\uDC16-\uDC25\uDC27-\uDC3A\uDC3C-\uDC3E\uDC40\uDC44\uDC45\uDC51-\uDC65\uDC6A\uDC79-\uDC7B\uDC7D-\uDC80\uDC84\uDC88-\uDC8E\uDC90\uDC92-\uDCA9\uDCAB-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDDA4\uDDFB-\uDE2D\uDE2F-\uDE34\uDE37-\uDE44\uDE48-\uDE4A\uDE80-\uDEA2\uDEA4-\uDEB3\uDEB7-\uDEBF\uDEC1-\uDEC5\uDED0-\uDED2\uDED5-\uDED7\uDEDC-\uDEDF\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB\uDFF0]|\uDC15(?:\u200D\uD83E\uDDBA)?|\uDC3B(?:\u200D\u2744\uFE0F?)?|\uDC41\uFE0F?(?:\u200D\uD83D\uDDE8\uFE0F?)?|\uDC68(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDC68\uDC69]\u200D\uD83D(?:\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?)|[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?)|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF-\uDDB3\uDDBC\uDDBD]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFC-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF-\uDDB3\uDDBC\uDDBD]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFD-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF-\uDDB3\uDDBC\uDDBD]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF-\uDDB3\uDDBC\uDDBD]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFD\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF-\uDDB3\uDDBC\uDDBD]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFE])))?))?|\uDC69(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?[\uDC68\uDC69]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?|\uDC69\u200D\uD83D(?:\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?))|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF-\uDDB3\uDDBC\uDDBD]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFC-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF-\uDDB3\uDDBC\uDDBD]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB\uDFFD-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF-\uDDB3\uDDBC\uDDBD]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF-\uDDB3\uDDBC\uDDBD]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB-\uDFFD\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF-\uDDB3\uDDBC\uDDBD]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB-\uDFFE])))?))?|\uDC6F(?:\u200D[\u2640\u2642]\uFE0F?)?|\uDD75(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|\uDE2E(?:\u200D\uD83D\uDCA8)?|\uDE35(?:\u200D\uD83D\uDCAB)?|\uDE36(?:\u200D\uD83C\uDF2B\uFE0F?)?)|\uD83E(?:[\uDD0C\uDD0F\uDD18-\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5\uDEC3-\uDEC5\uDEF0\uDEF2-\uDEF8](?:\uD83C[\uDFFB-\uDFFF])?|[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDDDE\uDDDF](?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDD0D\uDD0E\uDD10-\uDD17\uDD20-\uDD25\uDD27-\uDD2F\uDD3A\uDD3F-\uDD45\uDD47-\uDD76\uDD78-\uDDB4\uDDB7\uDDBA\uDDBC-\uDDCC\uDDD0\uDDE0-\uDDFF\uDE70-\uDE7C\uDE80-\uDE88\uDE90-\uDEBD\uDEBF-\uDEC2\uDECE-\uDEDB\uDEE0-\uDEE8]|\uDD3C(?:\u200D[\u2640\u2642]\uFE0F?|\uD83C[\uDFFB-\uDFFF])?|\uDDD1(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF-\uDDB3\uDDBC\uDDBD]|\uDD1D\u200D\uD83E\uDDD1))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFC-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF-\uDDB3\uDDBC\uDDBD]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB\uDFFD-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF-\uDDB3\uDDBC\uDDBD]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF-\uDDB3\uDDBC\uDDBD]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB-\uDFFD\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF-\uDDB3\uDDBC\uDDBD]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB-\uDFFE]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF-\uDDB3\uDDBC\uDDBD]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?))?|\uDEF1(?:\uD83C(?:\uDFFB(?:\u200D\uD83E\uDEF2\uD83C[\uDFFC-\uDFFF])?|\uDFFC(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB\uDFFD-\uDFFF])?|\uDFFD(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])?|\uDFFE(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB-\uDFFD\uDFFF])?|\uDFFF(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB-\uDFFE])?))?)/g; + return /[#*0-9]\uFE0F?\u20E3|[\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23ED-\u23EF\u23F1\u23F2\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB\u25FC\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692\u2694-\u2697\u2699\u269B\u269C\u26A0\u26A7\u26AA\u26B0\u26B1\u26BD\u26BE\u26C4\u26C8\u26CF\u26D1\u26E9\u26F0-\u26F5\u26F7\u26F8\u26FA\u2702\u2708\u2709\u270F\u2712\u2714\u2716\u271D\u2721\u2733\u2734\u2744\u2747\u2757\u2763\u27A1\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B55\u3030\u303D\u3297\u3299]\uFE0F?|[\u261D\u270C\u270D](?:\uFE0F|\uD83C[\uDFFB-\uDFFF])?|[\u270A\u270B](?:\uD83C[\uDFFB-\uDFFF])?|[\u23E9-\u23EC\u23F0\u23F3\u25FD\u2693\u26A1\u26AB\u26C5\u26CE\u26D4\u26EA\u26FD\u2705\u2728\u274C\u274E\u2753-\u2755\u2795-\u2797\u27B0\u27BF\u2B50]|\u26D3\uFE0F?(?:\u200D\uD83D\uDCA5)?|\u26F9(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|\u2764\uFE0F?(?:\u200D(?:\uD83D\uDD25|\uD83E\uDE79))?|\uD83C(?:[\uDC04\uDD70\uDD71\uDD7E\uDD7F\uDE02\uDE37\uDF21\uDF24-\uDF2C\uDF36\uDF7D\uDF96\uDF97\uDF99-\uDF9B\uDF9E\uDF9F\uDFCD\uDFCE\uDFD4-\uDFDF\uDFF5\uDFF7]\uFE0F?|[\uDF85\uDFC2\uDFC7](?:\uD83C[\uDFFB-\uDFFF])?|[\uDFC4\uDFCA](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDFCB\uDFCC](?:\uFE0F|\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDCCF\uDD8E\uDD91-\uDD9A\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF43\uDF45-\uDF4A\uDF4C-\uDF7C\uDF7E-\uDF84\uDF86-\uDF93\uDFA0-\uDFC1\uDFC5\uDFC6\uDFC8\uDFC9\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF8-\uDFFF]|\uDDE6\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF]|\uDDE7\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF]|\uDDE8\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF5\uDDF7\uDDFA-\uDDFF]|\uDDE9\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF]|\uDDEA\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA]|\uDDEB\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7]|\uDDEC\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE]|\uDDED\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA]|\uDDEE\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9]|\uDDEF\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5]|\uDDF0\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF]|\uDDF1\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE]|\uDDF2\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF]|\uDDF3\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF]|\uDDF4\uD83C\uDDF2|\uDDF5\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE]|\uDDF6\uD83C\uDDE6|\uDDF7\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC]|\uDDF8\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF]|\uDDF9\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF]|\uDDFA\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF]|\uDDFB\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA]|\uDDFC\uD83C[\uDDEB\uDDF8]|\uDDFD\uD83C\uDDF0|\uDDFE\uD83C[\uDDEA\uDDF9]|\uDDFF\uD83C[\uDDE6\uDDF2\uDDFC]|\uDF44(?:\u200D\uD83D\uDFEB)?|\uDF4B(?:\u200D\uD83D\uDFE9)?|\uDFC3(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?|\uDFF3\uFE0F?(?:\u200D(?:\u26A7\uFE0F?|\uD83C\uDF08))?|\uDFF4(?:\u200D\u2620\uFE0F?|\uDB40\uDC67\uDB40\uDC62\uDB40(?:\uDC65\uDB40\uDC6E\uDB40\uDC67|\uDC73\uDB40\uDC63\uDB40\uDC74|\uDC77\uDB40\uDC6C\uDB40\uDC73)\uDB40\uDC7F)?)|\uD83D(?:[\uDC3F\uDCFD\uDD49\uDD4A\uDD6F\uDD70\uDD73\uDD76-\uDD79\uDD87\uDD8A-\uDD8D\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA\uDECB\uDECD-\uDECF\uDEE0-\uDEE5\uDEE9\uDEF0\uDEF3]\uFE0F?|[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDC8F\uDC91\uDCAA\uDD7A\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC](?:\uD83C[\uDFFB-\uDFFF])?|[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4\uDEB5](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDD74\uDD90](?:\uFE0F|\uD83C[\uDFFB-\uDFFF])?|[\uDC00-\uDC07\uDC09-\uDC14\uDC16-\uDC25\uDC27-\uDC3A\uDC3C-\uDC3E\uDC40\uDC44\uDC45\uDC51-\uDC65\uDC6A\uDC79-\uDC7B\uDC7D-\uDC80\uDC84\uDC88-\uDC8E\uDC90\uDC92-\uDCA9\uDCAB-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDDA4\uDDFB-\uDE2D\uDE2F-\uDE34\uDE37-\uDE41\uDE43\uDE44\uDE48-\uDE4A\uDE80-\uDEA2\uDEA4-\uDEB3\uDEB7-\uDEBF\uDEC1-\uDEC5\uDED0-\uDED2\uDED5-\uDED7\uDEDC-\uDEDF\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB\uDFF0]|\uDC08(?:\u200D\u2B1B)?|\uDC15(?:\u200D\uD83E\uDDBA)?|\uDC26(?:\u200D(?:\u2B1B|\uD83D\uDD25))?|\uDC3B(?:\u200D\u2744\uFE0F?)?|\uDC41\uFE0F?(?:\u200D\uD83D\uDDE8\uFE0F?)?|\uDC68(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDC68\uDC69]\u200D\uD83D(?:\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?)|[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?)|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFC-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFD-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFD\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFE])))?))?|\uDC69(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?[\uDC68\uDC69]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?|\uDC69\u200D\uD83D(?:\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?))|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFC-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB\uDFFD-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB-\uDFFD\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB-\uDFFE])))?))?|\uDC6F(?:\u200D[\u2640\u2642]\uFE0F?)?|\uDD75(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|\uDE2E(?:\u200D\uD83D\uDCA8)?|\uDE35(?:\u200D\uD83D\uDCAB)?|\uDE36(?:\u200D\uD83C\uDF2B\uFE0F?)?|\uDE42(?:\u200D[\u2194\u2195]\uFE0F?)?|\uDEB6(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?)|\uD83E(?:[\uDD0C\uDD0F\uDD18-\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5\uDEC3-\uDEC5\uDEF0\uDEF2-\uDEF8](?:\uD83C[\uDFFB-\uDFFF])?|[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD\uDDCF\uDDD4\uDDD6-\uDDDD](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDDDE\uDDDF](?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDD0D\uDD0E\uDD10-\uDD17\uDD20-\uDD25\uDD27-\uDD2F\uDD3A\uDD3F-\uDD45\uDD47-\uDD76\uDD78-\uDDB4\uDDB7\uDDBA\uDDBC-\uDDCC\uDDD0\uDDE0-\uDDFF\uDE70-\uDE7C\uDE80-\uDE88\uDE90-\uDEBD\uDEBF-\uDEC2\uDECE-\uDEDB\uDEE0-\uDEE8]|\uDD3C(?:\u200D[\u2640\u2642]\uFE0F?|\uD83C[\uDFFB-\uDFFF])?|\uDDCE(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?|\uDDD1(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1|\uDDD1\u200D\uD83E\uDDD2(?:\u200D\uD83E\uDDD2)?|\uDDD2(?:\u200D\uD83E\uDDD2)?))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFC-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB\uDFFD-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB-\uDFFD\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB-\uDFFE]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?))?|\uDEF1(?:\uD83C(?:\uDFFB(?:\u200D\uD83E\uDEF2\uD83C[\uDFFC-\uDFFF])?|\uDFFC(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB\uDFFD-\uDFFF])?|\uDFFD(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])?|\uDFFE(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB-\uDFFD\uDFFF])?|\uDFFF(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB-\uDFFE])?))?)/g; }; -// node_modules/eastasianwidth/eastasianwidth.js -var eastasianwidth_default = { - eastAsianWidth(character) { - var x = character.charCodeAt(0); - var y = character.length == 2 ? character.charCodeAt(1) : 0; - var codePoint = x; - if (55296 <= x && x <= 56319 && 56320 <= y && y <= 57343) { - x &= 1023; - y &= 1023; - codePoint = x << 10 | y; - codePoint += 65536; - } - if (12288 == codePoint || 65281 <= codePoint && codePoint <= 65376 || 65504 <= codePoint && codePoint <= 65510) { - return "F"; - } - if (4352 <= codePoint && codePoint <= 4447 || 4515 <= codePoint && codePoint <= 4519 || 4602 <= codePoint && codePoint <= 4607 || 9001 <= codePoint && codePoint <= 9002 || 11904 <= codePoint && codePoint <= 11929 || 11931 <= codePoint && codePoint <= 12019 || 12032 <= codePoint && codePoint <= 12245 || 12272 <= codePoint && codePoint <= 12283 || 12289 <= codePoint && codePoint <= 12350 || 12353 <= codePoint && codePoint <= 12438 || 12441 <= codePoint && codePoint <= 12543 || 12549 <= codePoint && codePoint <= 12589 || 12593 <= codePoint && codePoint <= 12686 || 12688 <= codePoint && codePoint <= 12730 || 12736 <= codePoint && codePoint <= 12771 || 12784 <= codePoint && codePoint <= 12830 || 12832 <= codePoint && codePoint <= 12871 || 12880 <= codePoint && codePoint <= 13054 || 13056 <= codePoint && codePoint <= 19903 || 19968 <= codePoint && codePoint <= 42124 || 42128 <= codePoint && codePoint <= 42182 || 43360 <= codePoint && codePoint <= 43388 || 44032 <= codePoint && codePoint <= 55203 || 55216 <= codePoint && codePoint <= 55238 || 55243 <= codePoint && codePoint <= 55291 || 63744 <= codePoint && codePoint <= 64255 || 65040 <= codePoint && codePoint <= 65049 || 65072 <= codePoint && codePoint <= 65106 || 65108 <= codePoint && codePoint <= 65126 || 65128 <= codePoint && codePoint <= 65131 || 110592 <= codePoint && codePoint <= 110593 || 127488 <= codePoint && codePoint <= 127490 || 127504 <= codePoint && codePoint <= 127546 || 127552 <= codePoint && codePoint <= 127560 || 127568 <= codePoint && codePoint <= 127569 || 131072 <= codePoint && codePoint <= 194367 || 177984 <= codePoint && codePoint <= 196605 || 196608 <= codePoint && codePoint <= 262141) { - return "W"; - } - return "N"; - } -}; +// node_modules/get-east-asian-width/lookup.js +function isFullWidth(x) { + return x === 12288 || x >= 65281 && x <= 65376 || x >= 65504 && x <= 65510; +} +function isWide(x) { + return x >= 4352 && x <= 4447 || x === 8986 || x === 8987 || x === 9001 || x === 9002 || x >= 9193 && x <= 9196 || x === 9200 || x === 9203 || x === 9725 || x === 9726 || x === 9748 || x === 9749 || x >= 9800 && x <= 9811 || x === 9855 || x === 9875 || x === 9889 || x === 9898 || x === 9899 || x === 9917 || x === 9918 || x === 9924 || x === 9925 || x === 9934 || x === 9940 || x === 9962 || x === 9970 || x === 9971 || x === 9973 || x === 9978 || x === 9981 || x === 9989 || x === 9994 || x === 9995 || x === 10024 || x === 10060 || x === 10062 || x >= 10067 && x <= 10069 || x === 10071 || x >= 10133 && x <= 10135 || x === 10160 || x === 10175 || x === 11035 || x === 11036 || x === 11088 || x === 11093 || x >= 11904 && x <= 11929 || x >= 11931 && x <= 12019 || x >= 12032 && x <= 12245 || x >= 12272 && x <= 12287 || x >= 12289 && x <= 12350 || x >= 12353 && x <= 12438 || x >= 12441 && x <= 12543 || x >= 12549 && x <= 12591 || x >= 12593 && x <= 12686 || x >= 12688 && x <= 12771 || x >= 12783 && x <= 12830 || x >= 12832 && x <= 12871 || x >= 12880 && x <= 19903 || x >= 19968 && x <= 42124 || x >= 42128 && x <= 42182 || x >= 43360 && x <= 43388 || x >= 44032 && x <= 55203 || x >= 63744 && x <= 64255 || x >= 65040 && x <= 65049 || x >= 65072 && x <= 65106 || x >= 65108 && x <= 65126 || x >= 65128 && x <= 65131 || x >= 94176 && x <= 94180 || x === 94192 || x === 94193 || x >= 94208 && x <= 100343 || x >= 100352 && x <= 101589 || x >= 101632 && x <= 101640 || x >= 110576 && x <= 110579 || x >= 110581 && x <= 110587 || x === 110589 || x === 110590 || x >= 110592 && x <= 110882 || x === 110898 || x >= 110928 && x <= 110930 || x === 110933 || x >= 110948 && x <= 110951 || x >= 110960 && x <= 111355 || x === 126980 || x === 127183 || x === 127374 || x >= 127377 && x <= 127386 || x >= 127488 && x <= 127490 || x >= 127504 && x <= 127547 || x >= 127552 && x <= 127560 || x === 127568 || x === 127569 || x >= 127584 && x <= 127589 || x >= 127744 && x <= 127776 || x >= 127789 && x <= 127797 || x >= 127799 && x <= 127868 || x >= 127870 && x <= 127891 || x >= 127904 && x <= 127946 || x >= 127951 && x <= 127955 || x >= 127968 && x <= 127984 || x === 127988 || x >= 127992 && x <= 128062 || x === 128064 || x >= 128066 && x <= 128252 || x >= 128255 && x <= 128317 || x >= 128331 && x <= 128334 || x >= 128336 && x <= 128359 || x === 128378 || x === 128405 || x === 128406 || x === 128420 || x >= 128507 && x <= 128591 || x >= 128640 && x <= 128709 || x === 128716 || x >= 128720 && x <= 128722 || x >= 128725 && x <= 128727 || x >= 128732 && x <= 128735 || x === 128747 || x === 128748 || x >= 128756 && x <= 128764 || x >= 128992 && x <= 129003 || x === 129008 || x >= 129292 && x <= 129338 || x >= 129340 && x <= 129349 || x >= 129351 && x <= 129535 || x >= 129648 && x <= 129660 || x >= 129664 && x <= 129672 || x >= 129680 && x <= 129725 || x >= 129727 && x <= 129733 || x >= 129742 && x <= 129755 || x >= 129760 && x <= 129768 || x >= 129776 && x <= 129784 || x >= 131072 && x <= 196605 || x >= 196608 && x <= 262141; +} +// node_modules/get-east-asian-width/index.js +var _isNarrowWidth = (codePoint) => !(isFullWidth(codePoint) || isWide(codePoint)); + // src/utils/get-string-width.js var notAsciiRegex = /[^\x20-\x7F]/; function getStringWidth(text) { if (!text) { return 0; @@ -15018,12 +19729,11 @@ continue; } if (codePoint >= 768 && codePoint <= 879) { continue; } - const code = eastasianwidth_default.eastAsianWidth(character); - width += code === "F" || code === "W" ? 2 : 1; + width += _isNarrowWidth(codePoint) ? 1 : 2; } return width; } var get_string_width_default = getStringWidth; @@ -15045,15 +19755,15 @@ return rec(doc2); function rec(doc3) { if (mapped.has(doc3)) { return mapped.get(doc3); } - const result = process5(doc3); + const result = process4(doc3); mapped.set(doc3, result); return result; } - function process5(doc3) { + function process4(doc3) { switch (get_doc_type_default(doc3)) { case DOC_TYPE_ARRAY: return cb(doc3.map(rec)); case DOC_TYPE_FILL: return cb({ @@ -15534,11 +20244,11 @@ } function printDocToString(doc2, options8) { const groupModeMap = {}; const width = options8.printWidth; const newLine = convertEndOfLineToChars(options8.endOfLine); - let pos = 0; + let pos2 = 0; const cmds = [{ ind: rootIndent(), mode: MODE_BREAK, doc: doc2 }]; @@ -15562,11 +20272,11 @@ "\n", newLine ) : doc3; out.push(formatted); if (cmds.length > 0) { - pos += get_string_width_default(formatted); + pos2 += get_string_width_default(formatted); } break; } case DOC_TYPE_ARRAY: for (let i = doc3.length - 1; i >= 0; i--) { @@ -15597,11 +20307,11 @@ mode, doc: doc3.contents }); break; case DOC_TYPE_TRIM: - pos -= trim(out); + pos2 -= trim(out); break; case DOC_TYPE_GROUP: switch (mode) { case MODE_FLAT: if (!shouldRemeasure) { @@ -15617,11 +20327,11 @@ const next = { ind, mode: MODE_FLAT, doc: doc3.contents }; - const rem = width - pos; + const rem = width - pos2; const hasLineSuffix = lineSuffix2.length > 0; if (!doc3.break && fits(next, cmds, rem, hasLineSuffix, groupModeMap)) { cmds.push(next); } else { if (doc3.expandedStates) { @@ -15680,11 +20390,11 @@ -1 ).mode; } break; case DOC_TYPE_FILL: { - const rem = width - pos; + const rem = width - pos2; const { parts } = doc3; if (parts.length === 0) { break; @@ -15794,11 +20504,11 @@ switch (mode) { case MODE_FLAT: if (!doc3.hard) { if (!doc3.soft) { out.push(" "); - pos += 1; + pos2 += 1; } break; } else { shouldRemeasure = true; } @@ -15813,19 +20523,19 @@ break; } if (doc3.literal) { if (ind.root) { out.push(newLine, ind.root.value); - pos = ind.root.length; + pos2 = ind.root.length; } else { out.push(newLine); - pos = 0; + pos2 = 0; } } else { - pos -= trim(out); + pos2 -= trim(out); out.push(newLine + ind.value); - pos = ind.length; + pos2 = ind.length; } break; } break; case DOC_TYPE_LABEL: @@ -15860,151 +20570,10 @@ return { formatted: out.join("") }; } -// src/document/debug.js -function flattenDoc(doc2) { - var _a; - if (!doc2) { - return ""; - } - if (Array.isArray(doc2)) { - const res = []; - for (const part of doc2) { - if (Array.isArray(part)) { - res.push(...flattenDoc(part)); - } else { - const flattened = flattenDoc(part); - if (flattened !== "") { - res.push(flattened); - } - } - } - return res; - } - if (doc2.type === DOC_TYPE_IF_BREAK) { - return { - ...doc2, - breakContents: flattenDoc(doc2.breakContents), - flatContents: flattenDoc(doc2.flatContents) - }; - } - if (doc2.type === DOC_TYPE_GROUP) { - return { - ...doc2, - contents: flattenDoc(doc2.contents), - expandedStates: (_a = doc2.expandedStates) == null ? void 0 : _a.map(flattenDoc) - }; - } - if (doc2.type === DOC_TYPE_FILL) { - return { type: "fill", parts: doc2.parts.map(flattenDoc) }; - } - if (doc2.contents) { - return { ...doc2, contents: flattenDoc(doc2.contents) }; - } - return doc2; -} -function printDocToDebug(doc2) { - const printedSymbols = /* @__PURE__ */ Object.create(null); - const usedKeysForSymbols = /* @__PURE__ */ new Set(); - return printDoc(flattenDoc(doc2)); - function printDoc(doc3, index, parentParts) { - var _a, _b; - if (typeof doc3 === "string") { - return JSON.stringify(doc3); - } - if (Array.isArray(doc3)) { - const printed = doc3.map(printDoc).filter(Boolean); - return printed.length === 1 ? printed[0] : `[${printed.join(", ")}]`; - } - if (doc3.type === DOC_TYPE_LINE) { - const withBreakParent = ((_a = parentParts == null ? void 0 : parentParts[index + 1]) == null ? void 0 : _a.type) === DOC_TYPE_BREAK_PARENT; - if (doc3.literal) { - return withBreakParent ? "literalline" : "literallineWithoutBreakParent"; - } - if (doc3.hard) { - return withBreakParent ? "hardline" : "hardlineWithoutBreakParent"; - } - if (doc3.soft) { - return "softline"; - } - return "line"; - } - if (doc3.type === DOC_TYPE_BREAK_PARENT) { - const afterHardline = ((_b = parentParts == null ? void 0 : parentParts[index - 1]) == null ? void 0 : _b.type) === DOC_TYPE_LINE && parentParts[index - 1].hard; - return afterHardline ? void 0 : "breakParent"; - } - if (doc3.type === DOC_TYPE_TRIM) { - return "trim"; - } - if (doc3.type === DOC_TYPE_INDENT) { - return "indent(" + printDoc(doc3.contents) + ")"; - } - if (doc3.type === DOC_TYPE_ALIGN) { - return doc3.n === Number.NEGATIVE_INFINITY ? "dedentToRoot(" + printDoc(doc3.contents) + ")" : doc3.n < 0 ? "dedent(" + printDoc(doc3.contents) + ")" : doc3.n.type === "root" ? "markAsRoot(" + printDoc(doc3.contents) + ")" : "align(" + JSON.stringify(doc3.n) + ", " + printDoc(doc3.contents) + ")"; - } - if (doc3.type === DOC_TYPE_IF_BREAK) { - return "ifBreak(" + printDoc(doc3.breakContents) + (doc3.flatContents ? ", " + printDoc(doc3.flatContents) : "") + (doc3.groupId ? (!doc3.flatContents ? ', ""' : "") + `, { groupId: ${printGroupId(doc3.groupId)} }` : "") + ")"; - } - if (doc3.type === DOC_TYPE_INDENT_IF_BREAK) { - const optionsParts = []; - if (doc3.negate) { - optionsParts.push("negate: true"); - } - if (doc3.groupId) { - optionsParts.push(`groupId: ${printGroupId(doc3.groupId)}`); - } - const options8 = optionsParts.length > 0 ? `, { ${optionsParts.join(", ")} }` : ""; - return `indentIfBreak(${printDoc(doc3.contents)}${options8})`; - } - if (doc3.type === DOC_TYPE_GROUP) { - const optionsParts = []; - if (doc3.break && doc3.break !== "propagated") { - optionsParts.push("shouldBreak: true"); - } - if (doc3.id) { - optionsParts.push(`id: ${printGroupId(doc3.id)}`); - } - const options8 = optionsParts.length > 0 ? `, { ${optionsParts.join(", ")} }` : ""; - if (doc3.expandedStates) { - return `conditionalGroup([${doc3.expandedStates.map((part) => printDoc(part)).join(",")}]${options8})`; - } - return `group(${printDoc(doc3.contents)}${options8})`; - } - if (doc3.type === DOC_TYPE_FILL) { - return `fill([${doc3.parts.map((part) => printDoc(part)).join(", ")}])`; - } - if (doc3.type === DOC_TYPE_LINE_SUFFIX) { - return "lineSuffix(" + printDoc(doc3.contents) + ")"; - } - if (doc3.type === DOC_TYPE_LINE_SUFFIX_BOUNDARY) { - return "lineSuffixBoundary"; - } - if (doc3.type === DOC_TYPE_LABEL) { - return `label(${JSON.stringify(doc3.label)}, ${printDoc(doc3.contents)})`; - } - throw new Error("Unknown doc type " + doc3.type); - } - function printGroupId(id) { - if (typeof id !== "symbol") { - return JSON.stringify(String(id)); - } - if (id in printedSymbols) { - return printedSymbols[id]; - } - const prefix = id.description || "symbol"; - for (let counter = 0; ; counter++) { - const key = prefix + (counter > 0 ? ` #${counter}` : ""); - if (!usedKeysForSymbols.has(key)) { - usedKeysForSymbols.add(key); - return printedSymbols[id] = `Symbol.for(${JSON.stringify(key)})`; - } - } - } -} - // src/utils/get-alignment-size.js function getAlignmentSize(text, tabWidth, startIndex = 0) { let size = 0; for (let i = startIndex; i < text.length; ++i) { if (text[i] === " ") { @@ -16015,800 +20584,10 @@ } return size; } var get_alignment_size_default = getAlignmentSize; -// src/common/errors.js -var errors_exports = {}; -__export(errors_exports, { - ArgExpansionBailout: () => ArgExpansionBailout, - ConfigError: () => ConfigError, - UndefinedParserError: () => UndefinedParserError -}); -var ConfigError = class extends Error { - name = "ConfigError"; -}; -var UndefinedParserError = class extends Error { - name = "UndefinedParserError"; -}; -var ArgExpansionBailout = class extends Error { - name = "ArgExpansionBailout"; -}; - -// src/main/core-options.evaluate.js -var core_options_evaluate_default = { - "cursorOffset": { - "category": "Special", - "type": "int", - "default": -1, - "range": { - "start": -1, - "end": Infinity, - "step": 1 - }, - "description": "Print (to stderr) where a cursor at the given position would move to after formatting.\nThis option cannot be used with --range-start and --range-end.", - "cliCategory": "Editor" - }, - "endOfLine": { - "category": "Global", - "type": "choice", - "default": "lf", - "description": "Which end of line characters to apply.", - "choices": [ - { - "value": "lf", - "description": "Line Feed only (\\n), common on Linux and macOS as well as inside git repos" - }, - { - "value": "crlf", - "description": "Carriage Return + Line Feed characters (\\r\\n), common on Windows" - }, - { - "value": "cr", - "description": "Carriage Return character only (\\r), used very rarely" - }, - { - "value": "auto", - "description": "Maintain existing\n(mixed values within one file are normalised by looking at what's used after the first line)" - } - ] - }, - "filepath": { - "category": "Special", - "type": "path", - "description": "Specify the input filepath. This will be used to do parser inference.", - "cliName": "stdin-filepath", - "cliCategory": "Other", - "cliDescription": "Path to the file to pretend that stdin comes from." - }, - "insertPragma": { - "category": "Special", - "type": "boolean", - "default": false, - "description": "Insert @format pragma into file's first docblock comment.", - "cliCategory": "Other" - }, - "parser": { - "category": "Global", - "type": "choice", - "default": void 0, - "description": "Which parser to use.", - "exception": (value) => typeof value === "string" || typeof value === "function", - "choices": [ - { - "value": "flow", - "description": "Flow" - }, - { - "value": "babel", - "description": "JavaScript" - }, - { - "value": "babel-flow", - "description": "Flow" - }, - { - "value": "babel-ts", - "description": "TypeScript" - }, - { - "value": "typescript", - "description": "TypeScript" - }, - { - "value": "acorn", - "description": "JavaScript" - }, - { - "value": "espree", - "description": "JavaScript" - }, - { - "value": "meriyah", - "description": "JavaScript" - }, - { - "value": "css", - "description": "CSS" - }, - { - "value": "less", - "description": "Less" - }, - { - "value": "scss", - "description": "SCSS" - }, - { - "value": "json", - "description": "JSON" - }, - { - "value": "json5", - "description": "JSON5" - }, - { - "value": "json-stringify", - "description": "JSON.stringify" - }, - { - "value": "graphql", - "description": "GraphQL" - }, - { - "value": "markdown", - "description": "Markdown" - }, - { - "value": "mdx", - "description": "MDX" - }, - { - "value": "vue", - "description": "Vue" - }, - { - "value": "yaml", - "description": "YAML" - }, - { - "value": "glimmer", - "description": "Ember / Handlebars" - }, - { - "value": "html", - "description": "HTML" - }, - { - "value": "angular", - "description": "Angular" - }, - { - "value": "lwc", - "description": "Lightning Web Components" - } - ] - }, - "plugins": { - "type": "path", - "array": true, - "default": [ - { - "value": [] - } - ], - "category": "Global", - "description": "Add a plugin. Multiple plugins can be passed as separate `--plugin`s.", - "exception": (value) => typeof value === "string" || typeof value === "object", - "cliName": "plugin", - "cliCategory": "Config" - }, - "printWidth": { - "category": "Global", - "type": "int", - "default": 80, - "description": "The line length where Prettier will try wrap.", - "range": { - "start": 0, - "end": Infinity, - "step": 1 - } - }, - "rangeEnd": { - "category": "Special", - "type": "int", - "default": Infinity, - "range": { - "start": 0, - "end": Infinity, - "step": 1 - }, - "description": "Format code ending at a given character offset (exclusive).\nThe range will extend forwards to the end of the selected statement.\nThis option cannot be used with --cursor-offset.", - "cliCategory": "Editor" - }, - "rangeStart": { - "category": "Special", - "type": "int", - "default": 0, - "range": { - "start": 0, - "end": Infinity, - "step": 1 - }, - "description": "Format code starting at a given character offset.\nThe range will extend backwards to the start of the first line containing the selected statement.\nThis option cannot be used with --cursor-offset.", - "cliCategory": "Editor" - }, - "requirePragma": { - "category": "Special", - "type": "boolean", - "default": false, - "description": "Require either '@prettier' or '@format' to be present in the file's first docblock comment\nin order for it to be formatted.", - "cliCategory": "Other" - }, - "tabWidth": { - "type": "int", - "category": "Global", - "default": 2, - "description": "Number of spaces per indentation level.", - "range": { - "start": 0, - "end": Infinity, - "step": 1 - } - }, - "useTabs": { - "category": "Global", - "type": "boolean", - "default": false, - "description": "Indent with tabs instead of spaces." - }, - "embeddedLanguageFormatting": { - "category": "Global", - "type": "choice", - "default": "auto", - "description": "Control how Prettier formats quoted code embedded in the file.", - "choices": [ - { - "value": "auto", - "description": "Format embedded code if Prettier can automatically identify it." - }, - { - "value": "off", - "description": "Never automatically format embedded code." - } - ] - } -}; - -// src/main/support.js -function getSupportInfo({ - plugins = [], - showDeprecated = false -} = {}) { - const languages2 = plugins.flatMap((plugin) => plugin.languages ?? []); - const options8 = []; - for (const option of normalizeOptionSettings(Object.assign({}, ...plugins.map(({ - options: options9 - }) => options9), core_options_evaluate_default))) { - if (!showDeprecated && option.deprecated) { - continue; - } - if (Array.isArray(option.choices)) { - if (!showDeprecated) { - option.choices = option.choices.filter((choice) => !choice.deprecated); - } - if (option.name === "parser") { - option.choices = [...option.choices, ...collectParsersFromLanguages(option.choices, languages2, plugins)]; - } - } - option.pluginDefaults = Object.fromEntries(plugins.filter((plugin) => { - var _a; - return ((_a = plugin.defaultOptions) == null ? void 0 : _a[option.name]) !== void 0; - }).map((plugin) => [plugin.name, plugin.defaultOptions[option.name]])); - options8.push(option); - } - return { - languages: languages2, - options: options8 - }; -} -function* collectParsersFromLanguages(parserChoices, languages2, plugins) { - const existingParsers = new Set(parserChoices.map((choice) => choice.value)); - for (const language of languages2) { - if (language.parsers) { - for (const parserName of language.parsers) { - if (!existingParsers.has(parserName)) { - existingParsers.add(parserName); - const plugin = plugins.find((plugin2) => plugin2.parsers && Object.prototype.hasOwnProperty.call(plugin2.parsers, parserName)); - let description = language.name; - if (plugin == null ? void 0 : plugin.name) { - description += ` (plugin: ${plugin.name})`; - } - yield { - value: parserName, - description - }; - } - } - } - } -} -function normalizeOptionSettings(settings) { - const options8 = []; - for (const [name, originalOption] of Object.entries(settings)) { - const option = { - name, - ...originalOption - }; - if (Array.isArray(option.default)) { - option.default = at_default( - /* isOptionalObject*/ - false, - option.default, - -1 - ).value; - } - options8.push(option); - } - return options8; -} - -// src/utils/get-interpreter.js -var import_n_readlines = __toESM(require_readlines(), 1); -import fs from "fs"; -function getInterpreter(filepath) { - if (typeof filepath !== "string") { - return ""; - } - let fd; - try { - fd = fs.openSync(filepath, "r"); - } catch { - return ""; - } - try { - const liner = new import_n_readlines.default(fd); - const firstLine = liner.next().toString("utf8"); - const m1 = firstLine.match(/^#!\/(?:usr\/)?bin\/env\s+(\S+)/); - if (m1) { - return m1[1]; - } - const m2 = firstLine.match(/^#!\/(?:usr\/(?:local\/)?)?bin\/(\S+)/); - if (m2) { - return m2[1]; - } - return ""; - } catch { - return ""; - } finally { - try { - fs.closeSync(fd); - } catch { - } - } -} -var get_interpreter_default = getInterpreter; - -// src/utils/infer-parser.js -var getFileBasename = (file) => file.split(/[/\\]/).pop(); -function getLanguageByFilename(languages2, filename) { - if (!filename) { - return; - } - const basename = getFileBasename(filename).toLowerCase(); - return languages2.find( - (language) => { - var _a, _b; - return ((_a = language.extensions) == null ? void 0 : _a.some((extension) => basename.endsWith(extension))) || ((_b = language.filenames) == null ? void 0 : _b.some((name) => name.toLowerCase() === basename)); - } - ); -} -function getLanguageByName(languages2, languageName) { - if (!languageName) { - return; - } - return languages2.find(({ name }) => name.toLowerCase() === languageName) ?? languages2.find(({ aliases }) => aliases == null ? void 0 : aliases.includes(languageName)) ?? languages2.find(({ extensions }) => extensions == null ? void 0 : extensions.includes(`.${languageName}`)); -} -function getLanguageByInterpreter(languages2, file) { - if (!file || getFileBasename(file).includes(".")) { - return; - } - const interpreter = get_interpreter_default(file); - if (!interpreter) { - return; - } - return languages2.find( - (language) => { - var _a; - return (_a = language.interpreters) == null ? void 0 : _a.includes(interpreter); - } - ); -} -function inferParser(options8, fileInfo) { - const languages2 = options8.plugins.flatMap( - (plugin) => ( - // @ts-expect-error -- Safe - plugin.languages ?? [] - ) - ); - const language = getLanguageByName(languages2, fileInfo.language) ?? getLanguageByFilename(languages2, fileInfo.physicalFile) ?? getLanguageByFilename(languages2, fileInfo.file) ?? getLanguageByInterpreter(languages2, fileInfo.physicalFile); - return language == null ? void 0 : language.parsers[0]; -} -var infer_parser_default = inferParser; - -// src/main/normalize-options.js -var hasDeprecationWarned; -function normalizeOptions(options8, optionInfos, { - logger = false, - isCLI = false, - passThrough = false, - FlagSchema, - descriptor -} = {}) { - if (isCLI) { - if (!FlagSchema) { - throw new Error("'FlagSchema' option is required."); - } - if (!descriptor) { - throw new Error("'descriptor' option is required."); - } - } else { - descriptor = apiDescriptor; - } - const unknown = !passThrough ? (key, value, options9) => { - const { - _, - ...schemas2 - } = options9.schemas; - return levenUnknownHandler(key, value, { - ...options9, - schemas: schemas2 - }); - } : Array.isArray(passThrough) ? (key, value) => !passThrough.includes(key) ? void 0 : { - [key]: value - } : (key, value) => ({ - [key]: value - }); - const schemas = optionInfosToSchemas(optionInfos, { - isCLI, - FlagSchema - }); - const normalizer = new Normalizer(schemas, { - logger, - unknown, - descriptor - }); - const shouldSuppressDuplicateDeprecationWarnings = logger !== false; - if (shouldSuppressDuplicateDeprecationWarnings && hasDeprecationWarned) { - normalizer._hasDeprecationWarned = hasDeprecationWarned; - } - const normalized = normalizer.normalize(options8); - if (shouldSuppressDuplicateDeprecationWarnings) { - hasDeprecationWarned = normalizer._hasDeprecationWarned; - } - return normalized; -} -function optionInfosToSchemas(optionInfos, { - isCLI, - FlagSchema -}) { - const schemas = []; - if (isCLI) { - schemas.push(AnySchema.create({ - name: "_" - })); - } - for (const optionInfo of optionInfos) { - schemas.push(optionInfoToSchema(optionInfo, { - isCLI, - optionInfos, - FlagSchema - })); - if (optionInfo.alias && isCLI) { - schemas.push(AliasSchema.create({ - // @ts-expect-error - name: optionInfo.alias, - sourceName: optionInfo.name - })); - } - } - return schemas; -} -function optionInfoToSchema(optionInfo, { - isCLI, - optionInfos, - FlagSchema -}) { - const { - name - } = optionInfo; - const parameters = { - name - }; - let SchemaConstructor; - const handlers = {}; - switch (optionInfo.type) { - case "int": - SchemaConstructor = IntegerSchema; - if (isCLI) { - parameters.preprocess = Number; - } - break; - case "string": - SchemaConstructor = StringSchema; - break; - case "choice": - SchemaConstructor = ChoiceSchema; - parameters.choices = optionInfo.choices.map((choiceInfo) => (choiceInfo == null ? void 0 : choiceInfo.redirect) ? { - ...choiceInfo, - redirect: { - to: { - key: optionInfo.name, - value: choiceInfo.redirect - } - } - } : choiceInfo); - break; - case "boolean": - SchemaConstructor = BooleanSchema; - break; - case "flag": - SchemaConstructor = FlagSchema; - parameters.flags = optionInfos.flatMap((optionInfo2) => [optionInfo2.alias, optionInfo2.description && optionInfo2.name, optionInfo2.oppositeDescription && `no-${optionInfo2.name}`].filter(Boolean)); - break; - case "path": - SchemaConstructor = StringSchema; - break; - default: - throw new Error(`Unexpected type ${optionInfo.type}`); - } - if (optionInfo.exception) { - parameters.validate = (value, schema, utils) => optionInfo.exception(value) || schema.validate(value, utils); - } else { - parameters.validate = (value, schema, utils) => value === void 0 || schema.validate(value, utils); - } - if (optionInfo.redirect) { - handlers.redirect = (value) => !value ? void 0 : { - to: { - key: optionInfo.redirect.option, - value: optionInfo.redirect.value - } - }; - } - if (optionInfo.deprecated) { - handlers.deprecated = true; - } - if (isCLI && !optionInfo.array) { - const originalPreprocess = parameters.preprocess || ((x) => x); - parameters.preprocess = (value, schema, utils) => schema.preprocess(originalPreprocess(Array.isArray(value) ? at_default( - /* isOptionalObject*/ - false, - value, - -1 - ) : value), utils); - } - return optionInfo.array ? ArraySchema.create({ - ...isCLI ? { - preprocess: (v) => Array.isArray(v) ? v : [v] - } : {}, - ...handlers, - // @ts-expect-error - valueSchema: SchemaConstructor.create(parameters) - }) : SchemaConstructor.create({ - ...parameters, - ...handlers - }); -} -var normalize_options_default = normalizeOptions; - -// src/main/parser-and-printer.js -function getParserPluginByParserName(plugins, parserName) { - if (!parserName) { - throw new Error("parserName is required."); - } - for (let index = plugins.length - 1; index >= 0; index--) { - const plugin = plugins[index]; - if (plugin.parsers && Object.prototype.hasOwnProperty.call(plugin.parsers, parserName)) { - return plugin; - } - } - let message = `Couldn't resolve parser "${parserName}".`; - if (false) { - message += " Plugins must be explicitly added to the standalone bundle."; - } - throw new ConfigError(message); -} -function getPrinterPluginByAstFormat(plugins, astFormat) { - if (!astFormat) { - throw new Error("astFormat is required."); - } - for (let index = plugins.length - 1; index >= 0; index--) { - const plugin = plugins[index]; - if (plugin.printers && Object.prototype.hasOwnProperty.call(plugin.printers, astFormat)) { - return plugin; - } - } - let message = `Couldn't find plugin for AST format "${astFormat}".`; - if (false) { - message += " Plugins must be explicitly added to the standalone bundle."; - } - throw new ConfigError(message); -} -function resolveParser({ - plugins, - parser -}) { - const plugin = getParserPluginByParserName(plugins, parser); - return initParser(plugin, parser); -} -function initParser(plugin, parserName) { - const parserOrParserInitFunction = plugin.parsers[parserName]; - return typeof parserOrParserInitFunction === "function" ? parserOrParserInitFunction() : parserOrParserInitFunction; -} -function initPrinter(plugin, astFormat) { - const printerOrPrinterInitFunction = plugin.printers[astFormat]; - return typeof printerOrPrinterInitFunction === "function" ? printerOrPrinterInitFunction() : printerOrPrinterInitFunction; -} - -// src/main/normalize-format-options.js -var formatOptionsHiddenDefaults = { - astFormat: "estree", - printer: {}, - originalText: void 0, - locStart: null, - locEnd: null -}; -async function normalizeFormatOptions(options8, opts = {}) { - var _a; - const rawOptions = { ...options8 }; - if (!rawOptions.parser) { - if (!rawOptions.filepath) { - throw new UndefinedParserError( - "No parser and no file path given, couldn't infer a parser." - ); - } else { - rawOptions.parser = infer_parser_default(rawOptions, { - physicalFile: rawOptions.filepath - }); - if (!rawOptions.parser) { - throw new UndefinedParserError( - `No parser could be inferred for file "${rawOptions.filepath}".` - ); - } - } - } - const supportOptions = getSupportInfo({ - plugins: options8.plugins, - showDeprecated: true - }).options; - const defaults = { - ...formatOptionsHiddenDefaults, - ...Object.fromEntries( - supportOptions.filter((optionInfo) => optionInfo.default !== void 0).map((option) => [option.name, option.default]) - ) - }; - const parserPlugin = getParserPluginByParserName( - rawOptions.plugins, - rawOptions.parser - ); - const parser = await initParser(parserPlugin, rawOptions.parser); - rawOptions.astFormat = parser.astFormat; - rawOptions.locEnd = parser.locEnd; - rawOptions.locStart = parser.locStart; - const printerPlugin = ((_a = parserPlugin.printers) == null ? void 0 : _a[parser.astFormat]) ? parserPlugin : getPrinterPluginByAstFormat(rawOptions.plugins, parser.astFormat); - const printer = await initPrinter(printerPlugin, parser.astFormat); - rawOptions.printer = printer; - const pluginDefaults = printerPlugin.defaultOptions ? Object.fromEntries( - Object.entries(printerPlugin.defaultOptions).filter( - ([, value]) => value !== void 0 - ) - ) : {}; - const mixedDefaults = { ...defaults, ...pluginDefaults }; - for (const [k, value] of Object.entries(mixedDefaults)) { - if (rawOptions[k] === null || rawOptions[k] === void 0) { - rawOptions[k] = value; - } - } - if (rawOptions.parser === "json") { - rawOptions.trailingComma = "none"; - } - return normalize_options_default(rawOptions, supportOptions, { - passThrough: Object.keys(formatOptionsHiddenDefaults), - ...opts - }); -} -var normalize_format_options_default = normalizeFormatOptions; - -// src/main/create-get-visitor-keys-function.js -var nonTraversableKeys = /* @__PURE__ */ new Set([ - "tokens", - "comments", - "parent", - "enclosingNode", - "precedingNode", - "followingNode" -]); -var defaultGetVisitorKeys = (node) => Object.keys(node).filter((key) => !nonTraversableKeys.has(key)); -function createGetVisitorKeysFunction(printerGetVisitorKeys) { - return printerGetVisitorKeys ? (node) => printerGetVisitorKeys(node, nonTraversableKeys) : defaultGetVisitorKeys; -} -var create_get_visitor_keys_function_default = createGetVisitorKeysFunction; - -// src/main/massage-ast.js -function massageAst(ast, options8) { - const { - printer: { - massageAstNode: cleanFunction, - getVisitorKeys: printerGetVisitorKeys - } - } = options8; - if (!cleanFunction) { - return ast; - } - const getVisitorKeys = create_get_visitor_keys_function_default(printerGetVisitorKeys); - const ignoredProperties = cleanFunction.ignoredProperties ?? /* @__PURE__ */ new Set(); - return recurse(ast); - function recurse(node, parent) { - if (!(node !== null && typeof node === "object")) { - return node; - } - if (Array.isArray(node)) { - return node.map((child) => recurse(child, parent)).filter(Boolean); - } - const newObj = {}; - const childrenKeys = new Set(getVisitorKeys(node)); - for (const key in node) { - if (!Object.prototype.hasOwnProperty.call(node, key) || ignoredProperties.has(key)) { - continue; - } - if (childrenKeys.has(key)) { - newObj[key] = recurse(node[key], node); - } else { - newObj[key] = node[key]; - } - } - const result = cleanFunction(node, newObj, parent); - if (result === null) { - return; - } - return result ?? newObj; - } -} -var massage_ast_default = massageAst; - -// src/main/parse.js -var import_code_frame = __toESM(require_lib3(), 1); -async function parse(originalText, options8) { - const parser = await resolveParser(options8); - const text = parser.preprocess ? parser.preprocess(originalText, options8) : originalText; - options8.originalText = text; - let ast; - try { - ast = await parser.parse( - text, - options8, - // TODO: remove the third argument in v4 - // The duplicated argument is passed as intended, see #10156 - options8 - ); - } catch (error) { - handleParseError(error, originalText); - } - return { text, ast }; -} -function handleParseError(error, text) { - const { loc } = error; - if (loc) { - const codeFrame = (0, import_code_frame.codeFrameColumns)(text, loc, { highlightCode: true }); - error.message += "\n" + codeFrame; - error.codeFrame = codeFrame; - throw error; - } - throw error; -} -var parse_default = parse; - // src/common/ast-path.js var _getNodeStackIndex, getNodeStackIndex_fn, _getAncestors, getAncestors_fn; var AstPath = class { constructor(value) { __privateAdd(this, _getNodeStackIndex); @@ -16816,17 +20595,17 @@ this.stack = [value]; } /** @type {string | null} */ get key() { const { - stack, + stack: stack2, siblings } = this; return at_default( /* isOptionalObject*/ false, - stack, + stack2, siblings === null ? -2 : -4 ) ?? null; } /** @type {number | null} */ get index() { @@ -16859,16 +20638,16 @@ return this.siblings !== null; } /** @type {object[] | null} */ get siblings() { const { - stack + stack: stack2 } = this; const maybeArray = at_default( /* isOptionalObject*/ false, - stack, + stack2, -3 ); return Array.isArray(maybeArray) ? maybeArray : null; } /** @type {object | null} */ @@ -16911,20 +20690,20 @@ } // The name of the current property is always the penultimate element of // this.stack, and always a string/number/symbol. getName() { const { - stack + stack: stack2 } = this; const { length - } = stack; + } = stack2; if (length > 1) { return at_default( /* isOptionalObject*/ false, - stack, + stack2, -2 ); } return null; } @@ -16950,29 +20729,29 @@ // reference to this (modified) AstPath object. Note that the stack will // be restored to its original state after the callback is finished, so it // is probably a mistake to retain a reference to the path. call(callback, ...names) { const { - stack + stack: stack2 } = this; const { length - } = stack; + } = stack2; let value = at_default( /* isOptionalObject*/ false, - stack, + stack2, -1 ); for (const name of names) { value = value[name]; - stack.push(name, value); + stack2.push(name, value); } try { return callback(this); } finally { - stack.length = length; + stack2.length = length; } } callParent(callback, count = 0) { const stackIndex = __privateMethod(this, _getNodeStackIndex, getNodeStackIndex_fn).call(this, count + 1); const parentValues = this.stack.splice(stackIndex + 1); @@ -16986,42 +20765,42 @@ // accessing this.getValue()[name1][name2]... should be array. The // callback will be called with a reference to this path object for each // element of the array. each(callback, ...names) { const { - stack + stack: stack2 } = this; const { length - } = stack; + } = stack2; let value = at_default( /* isOptionalObject*/ false, - stack, + stack2, -1 ); for (const name of names) { value = value[name]; - stack.push(name, value); + stack2.push(name, value); } try { for (let i = 0; i < value.length; ++i) { - stack.push(i, value[i]); + stack2.push(i, value[i]); callback(this, i, value); - stack.length -= 2; + stack2.length -= 2; } } finally { - stack.length = length; + stack2.length = length; } } // Similar to AstPath.prototype.each, except that the results of the // callback function invocations are stored in an array and returned at // the end of the iteration. map(callback, ...names) { const result = []; - this.each((path9, index, value) => { - result[index] = callback(path9, index, value); + this.each((path13, index, value) => { + result[index] = callback(path13, index, value); }, ...names); return result; } /** * @param {...( @@ -17083,36 +20862,70 @@ } }; _getNodeStackIndex = new WeakSet(); getNodeStackIndex_fn = function(count) { const { - stack + stack: stack2 } = this; - for (let i = stack.length - 1; i >= 0; i -= 2) { - if (!Array.isArray(stack[i]) && --count < 0) { + for (let i = stack2.length - 1; i >= 0; i -= 2) { + if (!Array.isArray(stack2[i]) && --count < 0) { return i; } } return -1; }; _getAncestors = new WeakSet(); getAncestors_fn = function* () { const { - stack + stack: stack2 } = this; - for (let index = stack.length - 3; index >= 0; index -= 2) { - const value = stack[index]; + for (let index = stack2.length - 3; index >= 0; index -= 2) { + const value = stack2[index]; if (!Array.isArray(value)) { yield value; } } }; var ast_path_default = AstPath; // src/main/comments/attach.js -import assert2 from "assert"; +import assert4 from "assert"; +// src/utils/is-object.js +function isObject2(object) { + return object !== null && typeof object === "object"; +} +var is_object_default = isObject2; + +// src/utils/ast-utils.js +function* getChildren(node, options8) { + const { getVisitorKeys, filter: filter2 = () => true } = options8; + const isMatchedNode = (node2) => is_object_default(node2) && filter2(node2); + for (const key2 of getVisitorKeys(node)) { + const value = node[key2]; + if (Array.isArray(value)) { + for (const child of value) { + if (isMatchedNode(child)) { + yield child; + } + } + } else if (isMatchedNode(value)) { + yield value; + } + } +} +function* getDescendants(node, options8) { + const queue = [node]; + for (let index = 0; index < queue.length; index++) { + const node2 = queue[index]; + for (const child of getChildren(node2, options8)) { + yield child; + queue.push(child); + } + } +} + // src/utils/skip.js function skip(characters) { return (text, startIndex, options8) => { const backwards = Boolean(options8 == null ? void 0 : options8.backwards); if (startIndex === false) { @@ -17184,44 +20997,25 @@ function isNonEmptyArray(object) { return Array.isArray(object) && object.length > 0; } var is_non_empty_array_default = isNonEmptyArray; -// src/utils/is-object.js -function isObject(object) { - return object !== null && typeof object === "object"; +// src/main/create-get-visitor-keys-function.js +var nonTraversableKeys = /* @__PURE__ */ new Set([ + "tokens", + "comments", + "parent", + "enclosingNode", + "precedingNode", + "followingNode" +]); +var defaultGetVisitorKeys = (node) => Object.keys(node).filter((key2) => !nonTraversableKeys.has(key2)); +function createGetVisitorKeysFunction(printerGetVisitorKeys) { + return printerGetVisitorKeys ? (node) => printerGetVisitorKeys(node, nonTraversableKeys) : defaultGetVisitorKeys; } -var is_object_default = isObject; +var create_get_visitor_keys_function_default = createGetVisitorKeysFunction; -// src/utils/ast-utils.js -function* getChildren(node, options8) { - const { getVisitorKeys, filter = () => true } = options8; - const isMatchedNode = (node2) => is_object_default(node2) && filter(node2); - for (const key of getVisitorKeys(node)) { - const value = node[key]; - if (Array.isArray(value)) { - for (const child of value) { - if (isMatchedNode(child)) { - yield child; - } - } - } else if (isMatchedNode(value)) { - yield value; - } - } -} -function* getDescendants(node, options8) { - const queue = [node]; - for (let index = 0; index < queue.length; index++) { - const node2 = queue[index]; - for (const child of getChildren(node2, options8)) { - yield child; - queue.push(child); - } - } -} - // src/main/comments/utils.js function describeNodeForDebugging(node) { const nodeType = node.type || node.kind || "(unknown type)"; let nodeName = String( node.name || node.id && (typeof node.id === "object" ? node.id.name : node.id) || node.key && (typeof node.key === "object" ? node.key.name : node.key) || node.value && (typeof node.value === "object" ? "" : String(node.value)) || node.operator || "" @@ -17374,11 +21168,11 @@ text: text2, options: options9, ast: ast2, isLastComment } = context; - if (options9.parser === "json" || options9.parser === "json5" || options9.parser === "__js_expression" || options9.parser === "__ts_expression" || options9.parser === "__vue_expression" || options9.parser === "__vue_ts_expression") { + if (options9.parser === "json" || options9.parser === "json5" || options9.parser === "jsonc" || options9.parser === "__js_expression" || options9.parser === "__ts_expression" || options9.parser === "__vue_expression" || options9.parser === "__vue_ts_expression") { if (locStart(comment) - locStart(ast2) <= 0) { addLeadingComment(ast2, comment); continue; } if (locEnd(comment) - locEnd(ast2) >= 0) { @@ -17495,12 +21289,12 @@ const { comment, precedingNode: currentCommentPrecedingNode, followingNode: currentCommentFollowingNode } = tiesToBreak[indexOfFirstLeadingComment - 1]; - assert2.strictEqual(currentCommentPrecedingNode, precedingNode); - assert2.strictEqual(currentCommentFollowingNode, followingNode); + assert4.strictEqual(currentCommentPrecedingNode, precedingNode); + assert4.strictEqual(currentCommentFollowingNode, followingNode); const gap = options8.originalText.slice(options8.locEnd(comment), gapEndPos); if (((_b = (_a = options8.printer).isGap) == null ? void 0 : _b.call(_a, gap, options8)) ?? /^[\s(]*$/.test(gap)) { gapEndPos = options8.locStart(comment); } else { break; @@ -17540,25 +21334,25 @@ return idx !== idx2; } var is_previous_line_empty_default = isPreviousLineEmpty; // src/main/comments/print.js -function printComment(path9, options8) { - const comment = path9.node; +function printComment(path13, options8) { + const comment = path13.node; comment.printed = true; - return options8.printer.printComment(path9, options8); + return options8.printer.printComment(path13, options8); } -function printLeadingComment(path9, options8) { +function printLeadingComment(path13, options8) { var _a; - const comment = path9.node; - const parts = [printComment(path9, options8)]; + const comment = path13.node; + const parts = [printComment(path13, options8)]; const { printer, originalText, locStart, locEnd } = options8; const isBlock = (_a = printer.isBlockComment) == null ? void 0 : _a.call(printer, comment); if (isBlock) { const lineBreak = has_newline_default(originalText, locEnd(comment)) ? has_newline_default(originalText, locStart(comment), { backwards: true - }) ? hardline : line : " "; + }) ? hardline : line2 : " "; parts.push(lineBreak); } else { parts.push(hardline); } const index = skip_newline_default( @@ -17568,14 +21362,14 @@ if (index !== false && has_newline_default(originalText, index)) { parts.push(hardline); } return parts; } -function printTrailingComment(path9, options8, previousComment) { +function printTrailingComment(path13, options8, previousComment) { var _a; - const comment = path9.node; - const printed = printComment(path9, options8); + const comment = path13.node; + const printed = printComment(path13, options8); const { printer, originalText, locStart } = options8; const isBlock = (_a = printer.isBlockComment) == null ? void 0 : _a.call(printer, comment); if ((previousComment == null ? void 0 : previousComment.hasLineSuffix) && !(previousComment == null ? void 0 : previousComment.isBlock) || has_newline_default(originalText, locStart(comment), { backwards: true })) { const isLineBeforeEmpty = is_previous_line_empty_default( originalText, @@ -17594,12 +21388,12 @@ hasLineSuffix: true }; } return { doc: [" ", printed], isBlock, hasLineSuffix: false }; } -function printCommentsSeparately(path9, options8) { - const value = path9.node; +function printCommentsSeparately(path13, options8) { + const value = path13.node; if (!value) { return {}; } const ignored = options8[Symbol.for("printedComments")]; const comments = (value.comments || []).filter( @@ -17609,31 +21403,31 @@ return { leading: "", trailing: "" }; } const leadingParts = []; const trailingParts = []; let printedTrailingComment; - path9.each(() => { - const comment = path9.node; + path13.each(() => { + const comment = path13.node; if (ignored == null ? void 0 : ignored.has(comment)) { return; } const { leading, trailing } = comment; if (leading) { - leadingParts.push(printLeadingComment(path9, options8)); + leadingParts.push(printLeadingComment(path13, options8)); } else if (trailing) { printedTrailingComment = printTrailingComment( - path9, + path13, options8, printedTrailingComment ); trailingParts.push(printedTrailingComment.doc); } }, "comments"); return { leading: leadingParts, trailing: trailingParts }; } -function printComments(path9, doc2, options8) { - const { leading, trailing } = printCommentsSeparately(path9, options8); +function printComments(path13, doc2, options8) { + const { leading, trailing } = printCommentsSeparately(path13, options8); if (!leading && !trailing) { return doc2; } return inheritLabel(doc2, (doc3) => [leading, doc3, trailing]); } @@ -17650,12 +21444,701 @@ } delete comment.printed; } } +// src/main/create-print-pre-check-function.js +function createPrintPreCheckFunction(options8) { + if (true) { + return () => { + }; + } + const getVisitorKeys = create_get_visitor_keys_function_default( + options8.printer.getVisitorKeys + ); + return function(path13) { + if (path13.isRoot) { + return; + } + const { key: key2, parent } = path13; + const visitorKeys = getVisitorKeys(parent); + if (visitorKeys.includes(key2)) { + return; + } + throw Object.assign(new Error("Calling `print()` on non-node object."), { + parentNode: parent, + allowedProperties: visitorKeys, + printingProperty: key2, + printingValue: path13.node, + pathStack: path13.stack.length > 5 ? ["...", ...path13.stack.slice(-5)] : [...path13.stack] + }); + }; +} +var create_print_pre_check_function_default = createPrintPreCheckFunction; + +// src/main/core-options.evaluate.js +var core_options_evaluate_default = { + "cursorOffset": { + "category": "Special", + "type": "int", + "default": -1, + "range": { + "start": -1, + "end": Infinity, + "step": 1 + }, + "description": "Print (to stderr) where a cursor at the given position would move to after formatting.", + "cliCategory": "Editor" + }, + "endOfLine": { + "category": "Global", + "type": "choice", + "default": "lf", + "description": "Which end of line characters to apply.", + "choices": [ + { + "value": "lf", + "description": "Line Feed only (\\n), common on Linux and macOS as well as inside git repos" + }, + { + "value": "crlf", + "description": "Carriage Return + Line Feed characters (\\r\\n), common on Windows" + }, + { + "value": "cr", + "description": "Carriage Return character only (\\r), used very rarely" + }, + { + "value": "auto", + "description": "Maintain existing\n(mixed values within one file are normalised by looking at what's used after the first line)" + } + ] + }, + "filepath": { + "category": "Special", + "type": "path", + "description": "Specify the input filepath. This will be used to do parser inference.", + "cliName": "stdin-filepath", + "cliCategory": "Other", + "cliDescription": "Path to the file to pretend that stdin comes from." + }, + "insertPragma": { + "category": "Special", + "type": "boolean", + "default": false, + "description": "Insert @format pragma into file's first docblock comment.", + "cliCategory": "Other" + }, + "parser": { + "category": "Global", + "type": "choice", + "default": void 0, + "description": "Which parser to use.", + "exception": (value) => typeof value === "string" || typeof value === "function", + "choices": [ + { + "value": "flow", + "description": "Flow" + }, + { + "value": "babel", + "description": "JavaScript" + }, + { + "value": "babel-flow", + "description": "Flow" + }, + { + "value": "babel-ts", + "description": "TypeScript" + }, + { + "value": "typescript", + "description": "TypeScript" + }, + { + "value": "acorn", + "description": "JavaScript" + }, + { + "value": "espree", + "description": "JavaScript" + }, + { + "value": "meriyah", + "description": "JavaScript" + }, + { + "value": "css", + "description": "CSS" + }, + { + "value": "less", + "description": "Less" + }, + { + "value": "scss", + "description": "SCSS" + }, + { + "value": "json", + "description": "JSON" + }, + { + "value": "json5", + "description": "JSON5" + }, + { + "value": "jsonc", + "description": "JSON with Comments" + }, + { + "value": "json-stringify", + "description": "JSON.stringify" + }, + { + "value": "graphql", + "description": "GraphQL" + }, + { + "value": "markdown", + "description": "Markdown" + }, + { + "value": "mdx", + "description": "MDX" + }, + { + "value": "vue", + "description": "Vue" + }, + { + "value": "yaml", + "description": "YAML" + }, + { + "value": "glimmer", + "description": "Ember / Handlebars" + }, + { + "value": "html", + "description": "HTML" + }, + { + "value": "angular", + "description": "Angular" + }, + { + "value": "lwc", + "description": "Lightning Web Components" + } + ] + }, + "plugins": { + "type": "path", + "array": true, + "default": [ + { + "value": [] + } + ], + "category": "Global", + "description": "Add a plugin. Multiple plugins can be passed as separate `--plugin`s.", + "exception": (value) => typeof value === "string" || typeof value === "object", + "cliName": "plugin", + "cliCategory": "Config" + }, + "printWidth": { + "category": "Global", + "type": "int", + "default": 80, + "description": "The line length where Prettier will try wrap.", + "range": { + "start": 0, + "end": Infinity, + "step": 1 + } + }, + "rangeEnd": { + "category": "Special", + "type": "int", + "default": Infinity, + "range": { + "start": 0, + "end": Infinity, + "step": 1 + }, + "description": "Format code ending at a given character offset (exclusive).\nThe range will extend forwards to the end of the selected statement.", + "cliCategory": "Editor" + }, + "rangeStart": { + "category": "Special", + "type": "int", + "default": 0, + "range": { + "start": 0, + "end": Infinity, + "step": 1 + }, + "description": "Format code starting at a given character offset.\nThe range will extend backwards to the start of the first line containing the selected statement.", + "cliCategory": "Editor" + }, + "requirePragma": { + "category": "Special", + "type": "boolean", + "default": false, + "description": "Require either '@prettier' or '@format' to be present in the file's first docblock comment\nin order for it to be formatted.", + "cliCategory": "Other" + }, + "tabWidth": { + "type": "int", + "category": "Global", + "default": 2, + "description": "Number of spaces per indentation level.", + "range": { + "start": 0, + "end": Infinity, + "step": 1 + } + }, + "useTabs": { + "category": "Global", + "type": "boolean", + "default": false, + "description": "Indent with tabs instead of spaces." + }, + "embeddedLanguageFormatting": { + "category": "Global", + "type": "choice", + "default": "auto", + "description": "Control how Prettier formats quoted code embedded in the file.", + "choices": [ + { + "value": "auto", + "description": "Format embedded code if Prettier can automatically identify it." + }, + { + "value": "off", + "description": "Never automatically format embedded code." + } + ] + } +}; + +// src/main/support.js +function getSupportInfo({ + plugins = [], + showDeprecated = false +} = {}) { + const languages2 = plugins.flatMap((plugin) => plugin.languages ?? []); + const options8 = []; + for (const option of normalizeOptionSettings(Object.assign({}, ...plugins.map(({ + options: options9 + }) => options9), core_options_evaluate_default))) { + if (!showDeprecated && option.deprecated) { + continue; + } + if (Array.isArray(option.choices)) { + if (!showDeprecated) { + option.choices = option.choices.filter((choice) => !choice.deprecated); + } + if (option.name === "parser") { + option.choices = [...option.choices, ...collectParsersFromLanguages(option.choices, languages2, plugins)]; + } + } + option.pluginDefaults = Object.fromEntries(plugins.filter((plugin) => { + var _a; + return ((_a = plugin.defaultOptions) == null ? void 0 : _a[option.name]) !== void 0; + }).map((plugin) => [plugin.name, plugin.defaultOptions[option.name]])); + options8.push(option); + } + return { + languages: languages2, + options: options8 + }; +} +function* collectParsersFromLanguages(parserChoices, languages2, plugins) { + const existingParsers = new Set(parserChoices.map((choice) => choice.value)); + for (const language of languages2) { + if (language.parsers) { + for (const parserName of language.parsers) { + if (!existingParsers.has(parserName)) { + existingParsers.add(parserName); + const plugin = plugins.find((plugin2) => plugin2.parsers && Object.prototype.hasOwnProperty.call(plugin2.parsers, parserName)); + let description = language.name; + if (plugin == null ? void 0 : plugin.name) { + description += ` (plugin: ${plugin.name})`; + } + yield { + value: parserName, + description + }; + } + } + } + } +} +function normalizeOptionSettings(settings) { + const options8 = []; + for (const [name, originalOption] of Object.entries(settings)) { + const option = { + name, + ...originalOption + }; + if (Array.isArray(option.default)) { + option.default = at_default( + /* isOptionalObject*/ + false, + option.default, + -1 + ).value; + } + options8.push(option); + } + return options8; +} + +// src/main/normalize-options.js +var hasDeprecationWarned; +function normalizeOptions(options8, optionInfos, { + logger = false, + isCLI = false, + passThrough = false, + FlagSchema, + descriptor +} = {}) { + if (isCLI) { + if (!FlagSchema) { + throw new Error("'FlagSchema' option is required."); + } + if (!descriptor) { + throw new Error("'descriptor' option is required."); + } + } else { + descriptor = apiDescriptor; + } + const unknown = !passThrough ? (key2, value, options9) => { + const { + _, + ...schemas2 + } = options9.schemas; + return levenUnknownHandler(key2, value, { + ...options9, + schemas: schemas2 + }); + } : Array.isArray(passThrough) ? (key2, value) => !passThrough.includes(key2) ? void 0 : { + [key2]: value + } : (key2, value) => ({ + [key2]: value + }); + const schemas = optionInfosToSchemas(optionInfos, { + isCLI, + FlagSchema + }); + const normalizer = new Normalizer(schemas, { + logger, + unknown, + descriptor + }); + const shouldSuppressDuplicateDeprecationWarnings = logger !== false; + if (shouldSuppressDuplicateDeprecationWarnings && hasDeprecationWarned) { + normalizer._hasDeprecationWarned = hasDeprecationWarned; + } + const normalized = normalizer.normalize(options8); + if (shouldSuppressDuplicateDeprecationWarnings) { + hasDeprecationWarned = normalizer._hasDeprecationWarned; + } + return normalized; +} +function optionInfosToSchemas(optionInfos, { + isCLI, + FlagSchema +}) { + const schemas = []; + if (isCLI) { + schemas.push(AnySchema.create({ + name: "_" + })); + } + for (const optionInfo of optionInfos) { + schemas.push(optionInfoToSchema(optionInfo, { + isCLI, + optionInfos, + FlagSchema + })); + if (optionInfo.alias && isCLI) { + schemas.push(AliasSchema.create({ + // @ts-expect-error + name: optionInfo.alias, + sourceName: optionInfo.name + })); + } + } + return schemas; +} +function optionInfoToSchema(optionInfo, { + isCLI, + optionInfos, + FlagSchema +}) { + const { + name + } = optionInfo; + const parameters = { + name + }; + let SchemaConstructor; + const handlers = {}; + switch (optionInfo.type) { + case "int": + SchemaConstructor = IntegerSchema; + if (isCLI) { + parameters.preprocess = Number; + } + break; + case "string": + SchemaConstructor = StringSchema; + break; + case "choice": + SchemaConstructor = ChoiceSchema; + parameters.choices = optionInfo.choices.map((choiceInfo) => (choiceInfo == null ? void 0 : choiceInfo.redirect) ? { + ...choiceInfo, + redirect: { + to: { + key: optionInfo.name, + value: choiceInfo.redirect + } + } + } : choiceInfo); + break; + case "boolean": + SchemaConstructor = BooleanSchema; + break; + case "flag": + SchemaConstructor = FlagSchema; + parameters.flags = optionInfos.flatMap((optionInfo2) => [optionInfo2.alias, optionInfo2.description && optionInfo2.name, optionInfo2.oppositeDescription && `no-${optionInfo2.name}`].filter(Boolean)); + break; + case "path": + SchemaConstructor = StringSchema; + break; + default: + throw new Error(`Unexpected type ${optionInfo.type}`); + } + if (optionInfo.exception) { + parameters.validate = (value, schema2, utils) => optionInfo.exception(value) || schema2.validate(value, utils); + } else { + parameters.validate = (value, schema2, utils) => value === void 0 || schema2.validate(value, utils); + } + if (optionInfo.redirect) { + handlers.redirect = (value) => !value ? void 0 : { + to: { + key: optionInfo.redirect.option, + value: optionInfo.redirect.value + } + }; + } + if (optionInfo.deprecated) { + handlers.deprecated = true; + } + if (isCLI && !optionInfo.array) { + const originalPreprocess = parameters.preprocess || ((x) => x); + parameters.preprocess = (value, schema2, utils) => schema2.preprocess(originalPreprocess(Array.isArray(value) ? at_default( + /* isOptionalObject*/ + false, + value, + -1 + ) : value), utils); + } + return optionInfo.array ? ArraySchema.create({ + ...isCLI ? { + preprocess: (v) => Array.isArray(v) ? v : [v] + } : {}, + ...handlers, + // @ts-expect-error + valueSchema: SchemaConstructor.create(parameters) + }) : SchemaConstructor.create({ + ...parameters, + ...handlers + }); +} +var normalize_options_default = normalizeOptions; + +// scripts/build/shims/array-find-last.js +var arrayFindLast = (isOptionalObject, array2, callback) => { + if (isOptionalObject && (array2 === void 0 || array2 === null)) { + return; + } + if (array2.findLast) { + return array2.findLast(callback); + } + for (let index = array2.length - 1; index >= 0; index--) { + const element = array2[index]; + if (callback(element, index, array2)) { + return element; + } + } +}; +var array_find_last_default = arrayFindLast; + +// src/main/parser-and-printer.js +function getParserPluginByParserName(plugins, parserName) { + if (!parserName) { + throw new Error("parserName is required."); + } + const plugin = array_find_last_default( + /* isOptionalObject*/ + false, + plugins, + (plugin2) => plugin2.parsers && Object.prototype.hasOwnProperty.call(plugin2.parsers, parserName) + ); + if (plugin) { + return plugin; + } + let message = `Couldn't resolve parser "${parserName}".`; + if (false) { + message += " Plugins must be explicitly added to the standalone bundle."; + } + throw new ConfigError(message); +} +function getPrinterPluginByAstFormat(plugins, astFormat) { + if (!astFormat) { + throw new Error("astFormat is required."); + } + const plugin = array_find_last_default( + /* isOptionalObject*/ + false, + plugins, + (plugin2) => plugin2.printers && Object.prototype.hasOwnProperty.call(plugin2.printers, astFormat) + ); + if (plugin) { + return plugin; + } + let message = `Couldn't find plugin for AST format "${astFormat}".`; + if (false) { + message += " Plugins must be explicitly added to the standalone bundle."; + } + throw new ConfigError(message); +} +function resolveParser({ + plugins, + parser +}) { + const plugin = getParserPluginByParserName(plugins, parser); + return initParser(plugin, parser); +} +function initParser(plugin, parserName) { + const parserOrParserInitFunction = plugin.parsers[parserName]; + return typeof parserOrParserInitFunction === "function" ? parserOrParserInitFunction() : parserOrParserInitFunction; +} +function initPrinter(plugin, astFormat) { + const printerOrPrinterInitFunction = plugin.printers[astFormat]; + return typeof printerOrPrinterInitFunction === "function" ? printerOrPrinterInitFunction() : printerOrPrinterInitFunction; +} + +// src/main/normalize-format-options.js +var formatOptionsHiddenDefaults = { + astFormat: "estree", + printer: {}, + originalText: void 0, + locStart: null, + locEnd: null +}; +async function normalizeFormatOptions(options8, opts = {}) { + var _a; + const rawOptions = { ...options8 }; + if (!rawOptions.parser) { + if (!rawOptions.filepath) { + throw new UndefinedParserError( + "No parser and no file path given, couldn't infer a parser." + ); + } else { + rawOptions.parser = infer_parser_default(rawOptions, { + physicalFile: rawOptions.filepath + }); + if (!rawOptions.parser) { + throw new UndefinedParserError( + `No parser could be inferred for file "${rawOptions.filepath}".` + ); + } + } + } + const supportOptions = getSupportInfo({ + plugins: options8.plugins, + showDeprecated: true + }).options; + const defaults = { + ...formatOptionsHiddenDefaults, + ...Object.fromEntries( + supportOptions.filter((optionInfo) => optionInfo.default !== void 0).map((option) => [option.name, option.default]) + ) + }; + const parserPlugin = getParserPluginByParserName( + rawOptions.plugins, + rawOptions.parser + ); + const parser = await initParser(parserPlugin, rawOptions.parser); + rawOptions.astFormat = parser.astFormat; + rawOptions.locEnd = parser.locEnd; + rawOptions.locStart = parser.locStart; + const printerPlugin = ((_a = parserPlugin.printers) == null ? void 0 : _a[parser.astFormat]) ? parserPlugin : getPrinterPluginByAstFormat(rawOptions.plugins, parser.astFormat); + const printer = await initPrinter(printerPlugin, parser.astFormat); + rawOptions.printer = printer; + const pluginDefaults = printerPlugin.defaultOptions ? Object.fromEntries( + Object.entries(printerPlugin.defaultOptions).filter( + ([, value]) => value !== void 0 + ) + ) : {}; + const mixedDefaults = { ...defaults, ...pluginDefaults }; + for (const [k, value] of Object.entries(mixedDefaults)) { + if (rawOptions[k] === null || rawOptions[k] === void 0) { + rawOptions[k] = value; + } + } + if (rawOptions.parser === "json") { + rawOptions.trailingComma = "none"; + } + return normalize_options_default(rawOptions, supportOptions, { + passThrough: Object.keys(formatOptionsHiddenDefaults), + ...opts + }); +} +var normalize_format_options_default = normalizeFormatOptions; + +// src/main/parse.js +var import_code_frame2 = __toESM(require_lib3(), 1); +async function parse4(originalText, options8) { + const parser = await resolveParser(options8); + const text = parser.preprocess ? parser.preprocess(originalText, options8) : originalText; + options8.originalText = text; + let ast; + try { + ast = await parser.parse( + text, + options8, + // TODO: remove the third argument in v4 + // The duplicated argument is passed as intended, see #10156 + options8 + ); + } catch (error) { + handleParseError(error, originalText); + } + return { text, ast }; +} +function handleParseError(error, text) { + const { loc } = error; + if (loc) { + const codeFrame = (0, import_code_frame2.codeFrameColumns)(text, loc, { highlightCode: true }); + error.message += "\n" + codeFrame; + error.codeFrame = codeFrame; + throw error; + } + throw error; +} +var parse_default = parse4; + // src/main/multiparser.js -async function printEmbeddedLanguages(path9, genericPrint, options8, printAstToDoc2, embeds) { +async function printEmbeddedLanguages(path13, genericPrint, options8, printAstToDoc2, embeds) { const { embeddedLanguageFormatting, printer: { embed, hasPrettierIgnore = () => false, @@ -17673,49 +22156,49 @@ const getVisitorKeys = create_get_visitor_keys_function_default( embed.getVisitorKeys ?? printerGetVisitorKeys ); const embedCallResults = []; recurse(); - const originalPathStack = path9.stack; + const originalPathStack = path13.stack; for (const { print, node, pathStack } of embedCallResults) { try { - path9.stack = pathStack; - const doc2 = await print(textToDocForEmbed, genericPrint, path9, options8); + path13.stack = pathStack; + const doc2 = await print(textToDocForEmbed, genericPrint, path13, options8); if (doc2) { embeds.set(node, doc2); } } catch (error) { if (process.env.PRETTIER_DEBUG) { throw error; } } } - path9.stack = originalPathStack; + path13.stack = originalPathStack; function textToDocForEmbed(text, partialNextOptions) { return textToDoc(text, partialNextOptions, options8, printAstToDoc2); } function recurse() { - const { node } = path9; - if (node === null || typeof node !== "object" || hasPrettierIgnore(path9)) { + const { node } = path13; + if (node === null || typeof node !== "object" || hasPrettierIgnore(path13)) { return; } - for (const key of getVisitorKeys(node)) { - if (Array.isArray(node[key])) { - path9.each(recurse, key); + for (const key2 of getVisitorKeys(node)) { + if (Array.isArray(node[key2])) { + path13.each(recurse, key2); } else { - path9.call(recurse, key); + path13.call(recurse, key2); } } - const result = embed(path9, options8); + const result = embed(path13, options8); if (!result) { return; } if (typeof result === "function") { embedCallResults.push({ print: result, node, - pathStack: [...path9.stack] + pathStack: [...path13.stack] }); return; } if (false) { throw new Error( @@ -17738,49 +22221,20 @@ const { ast } = await parse_default(text, options8); const doc2 = await printAstToDoc2(ast, options8); return stripTrailingHardline(doc2); } -// src/main/create-print-pre-check-function.js -function createPrintPreCheckFunction(options8) { - if (true) { - return () => { - }; - } - const getVisitorKeys = create_get_visitor_keys_function_default( - options8.printer.getVisitorKeys - ); - return function(path9) { - if (path9.isRoot) { - return; - } - const { key, parent } = path9; - const visitorKeys = getVisitorKeys(parent); - if (visitorKeys.includes(key)) { - return; - } - throw Object.assign(new Error("Calling `print()` on non-node object."), { - parentNode: parent, - allowedProperties: visitorKeys, - printingProperty: key, - printingValue: path9.node, - pathStack: path9.stack.length > 5 ? ["...", ...path9.stack.slice(-5)] : [...path9.stack] - }); - }; -} -var create_print_pre_check_function_default = createPrintPreCheckFunction; - // src/main/print-ignored.js -function printIgnored(path9, options8) { +function printIgnored(path13, options8) { const { originalText, [Symbol.for("comments")]: comments, locStart, locEnd, [Symbol.for("printedComments")]: printedComments } = options8; - const { node } = path9; + const { node } = path13; const start = locStart(node); const end = locEnd(node); for (const comment of comments) { if (locStart(comment) >= start && locEnd(comment) <= end) { printedComments.add(comment); @@ -17791,67 +22245,67 @@ var print_ignored_default = printIgnored; // src/main/ast-to-doc.js async function printAstToDoc(ast, options8) { ({ ast } = await prepareToPrint(ast, options8)); - const cache = /* @__PURE__ */ new Map(); - const path9 = new ast_path_default(ast); + const cache3 = /* @__PURE__ */ new Map(); + const path13 = new ast_path_default(ast); const ensurePrintingNode = create_print_pre_check_function_default(options8); const embeds = /* @__PURE__ */ new Map(); - await printEmbeddedLanguages(path9, mainPrint, options8, printAstToDoc, embeds); + await printEmbeddedLanguages(path13, mainPrint, options8, printAstToDoc, embeds); const doc2 = await callPluginPrintFunction( - path9, + path13, options8, mainPrint, void 0, embeds ); ensureAllCommentsPrinted(options8); return doc2; function mainPrint(selector, args) { - if (selector === void 0 || selector === path9) { + if (selector === void 0 || selector === path13) { return mainPrintInternal(args); } if (Array.isArray(selector)) { - return path9.call(() => mainPrintInternal(args), ...selector); + return path13.call(() => mainPrintInternal(args), ...selector); } - return path9.call(() => mainPrintInternal(args), selector); + return path13.call(() => mainPrintInternal(args), selector); } function mainPrintInternal(args) { - ensurePrintingNode(path9); - const value = path9.node; + ensurePrintingNode(path13); + const value = path13.node; if (value === void 0 || value === null) { return ""; } const shouldCache = value && typeof value === "object" && args === void 0; - if (shouldCache && cache.has(value)) { - return cache.get(value); + if (shouldCache && cache3.has(value)) { + return cache3.get(value); } - const doc3 = callPluginPrintFunction(path9, options8, mainPrint, args, embeds); + const doc3 = callPluginPrintFunction(path13, options8, mainPrint, args, embeds); if (shouldCache) { - cache.set(value, doc3); + cache3.set(value, doc3); } return doc3; } } -function callPluginPrintFunction(path9, options8, printPath, args, embeds) { +function callPluginPrintFunction(path13, options8, printPath, args, embeds) { var _a; - const { node } = path9; + const { node } = path13; const { printer } = options8; let doc2; - if ((_a = printer.hasPrettierIgnore) == null ? void 0 : _a.call(printer, path9)) { - doc2 = print_ignored_default(path9, options8); + if ((_a = printer.hasPrettierIgnore) == null ? void 0 : _a.call(printer, path13)) { + doc2 = print_ignored_default(path13, options8); } else if (embeds.has(node)) { doc2 = embeds.get(node); } else { - doc2 = printer.print(path9, options8, printPath, args); + doc2 = printer.print(path13, options8, printPath, args); } if (node === options8.cursorNode) { doc2 = inheritLabel(doc2, (doc3) => [cursor, doc3, cursor]); } - if (printer.printComment && (!printer.willPrintOwnComments || !printer.willPrintOwnComments(path9, options8))) { - doc2 = printComments(path9, doc2, options8); + if (printer.printComment && (!printer.willPrintOwnComments || !printer.willPrintOwnComments(path13, options8))) { + doc2 = printComments(path13, doc2, options8); } return doc2; } async function prepareToPrint(ast, options8) { const comments = ast.comments ?? []; @@ -17864,13 +22318,73 @@ } = options8; ast = preprocess ? await preprocess(ast, options8) : ast; return { ast, comments }; } +// src/main/get-cursor-node.js +function getCursorNode(ast, options8) { + const { cursorOffset, locStart, locEnd } = options8; + const getVisitorKeys = create_get_visitor_keys_function_default( + options8.printer.getVisitorKeys + ); + const nodeContainsCursor = (node) => locStart(node) <= cursorOffset && locEnd(node) >= cursorOffset; + let cursorNode = ast; + for (const node of getDescendants(ast, { + getVisitorKeys, + filter: nodeContainsCursor + })) { + cursorNode = node; + } + return cursorNode; +} +var get_cursor_node_default = getCursorNode; + +// src/main/massage-ast.js +function massageAst(ast, options8) { + const { + printer: { + massageAstNode: cleanFunction, + getVisitorKeys: printerGetVisitorKeys + } + } = options8; + if (!cleanFunction) { + return ast; + } + const getVisitorKeys = create_get_visitor_keys_function_default(printerGetVisitorKeys); + const ignoredProperties = cleanFunction.ignoredProperties ?? /* @__PURE__ */ new Set(); + return recurse(ast); + function recurse(node, parent) { + if (!(node !== null && typeof node === "object")) { + return node; + } + if (Array.isArray(node)) { + return node.map((child) => recurse(child, parent)).filter(Boolean); + } + const newObj = {}; + const childrenKeys = new Set(getVisitorKeys(node)); + for (const key2 in node) { + if (!Object.prototype.hasOwnProperty.call(node, key2) || ignoredProperties.has(key2)) { + continue; + } + if (childrenKeys.has(key2)) { + newObj[key2] = recurse(node[key2], node); + } else { + newObj[key2] = node[key2]; + } + } + const result = cleanFunction(node, newObj, parent); + if (result === null) { + return; + } + return result ?? newObj; + } +} +var massage_ast_default = massageAst; + // src/main/range-util.js -import assert3 from "assert"; -var isJsonParser = ({ parser }) => parser === "json" || parser === "json5" || parser === "json-stringify"; +import assert5 from "assert"; +var isJsonParser = ({ parser }) => parser === "json" || parser === "json5" || parser === "jsonc" || parser === "json-stringify"; function findCommonAncestor(startNodeAndParents, endNodeAndParents) { const startNodeAndAncestors = [ startNodeAndParents.node, ...startNodeAndParents.parentNodes ]; @@ -17925,25 +22439,25 @@ return { startNode: resultStartNode, endNode: resultEndNode }; } -function findNodeAtOffset(node, offset, options8, predicate, parentNodes = [], type) { +function findNodeAtOffset(node, offset, options8, predicate, parentNodes = [], type2) { const { locStart, locEnd } = options8; const start = locStart(node); const end = locEnd(node); - if (offset > end || offset < start || type === "rangeEnd" && offset === start || type === "rangeStart" && offset === end) { + if (offset > end || offset < start || type2 === "rangeEnd" && offset === start || type2 === "rangeStart" && offset === end) { return; } for (const childNode of getSortedChildNodes(node, options8)) { const childResult = findNodeAtOffset( childNode, offset, options8, predicate, [node, ...parentNodes], - type + type2 ); if (childResult) { return childResult; } } @@ -17952,12 +22466,12 @@ node, parentNodes }; } } -function isJsSourceElement(type, parentType) { - return parentType !== "DeclareExportDeclaration" && type !== "TypeParameterDeclaration" && (type === "Directive" || type === "TypeAlias" || type === "TSExportAssignment" || type.startsWith("Declare") || type.startsWith("TSDeclare") || type.endsWith("Statement") || type.endsWith("Declaration")); +function isJsSourceElement(type2, parentType) { + return parentType !== "DeclareExportDeclaration" && type2 !== "TypeParameterDeclaration" && (type2 === "Directive" || type2 === "TypeAlias" || type2 === "TSExportAssignment" || type2.startsWith("Declare") || type2.startsWith("TSDeclare") || type2.endsWith("Statement") || type2.endsWith("Declaration")); } var jsonSourceElements = /* @__PURE__ */ new Set([ "JsonRoot", "ObjectExpression", "ArrayExpression", @@ -18001,10 +22515,11 @@ case "meriyah": case "__babel_estree": return isJsSourceElement(node.type, parentNode == null ? void 0 : parentNode.type); case "json": case "json5": + case "jsonc": case "json-stringify": return jsonSourceElements.has(node.type); case "graphql": return graphqlSourceElements.has(node.kind); case "vue": @@ -18012,11 +22527,11 @@ } return false; } function calculateRange(text, opts, ast) { let { rangeStart: start, rangeEnd: end, locStart, locEnd } = opts; - assert3.ok(end > start); + assert5.ok(end > start); const firstNonWhitespaceCharacterIndex = text.slice(start, end).search(/\S/); const isAllWhitespace = firstNonWhitespaceCharacterIndex === -1; if (!isAllWhitespace) { start += firstNonWhitespaceCharacterIndex; for (; end > start; --end) { @@ -18070,28 +22585,10 @@ rangeStart: Math.min(locStart(startNode), locStart(endNode)), rangeEnd: Math.max(locEnd(startNode), locEnd(endNode)) }; } -// src/main/get-cursor-node.js -function getCursorNode(ast, options8) { - const { cursorOffset, locStart, locEnd } = options8; - const getVisitorKeys = create_get_visitor_keys_function_default( - options8.printer.getVisitorKeys - ); - const nodeContainsCursor = (node) => locStart(node) <= cursorOffset && locEnd(node) >= cursorOffset; - let cursorNode = ast; - for (const node of getDescendants(ast, { - getVisitorKeys, - filter: nodeContainsCursor - })) { - cursorNode = node; - } - return cursorNode; -} -var get_cursor_node_default = getCursorNode; - // src/main/core.js var BOM = "\uFEFF"; var CURSOR = Symbol("cursor"); async function coreFormat(originalText, opts, addAlignmentSize = 0) { if (!originalText || originalText.trim().length === 0) { @@ -18314,11 +22811,11 @@ result.cursorOffset++; } } return result; } -async function parse2(originalText, originalOptions, devOptions) { +async function parse5(originalText, originalOptions, devOptions) { const { text, options: options8 } = normalizeInputAndOptions(originalText, await normalize_format_options_default(originalOptions)); const parsed = await parse_default(text, options8); @@ -18356,1925 +22853,38 @@ } async function printDocToString2(doc2, options8) { return printDocToString(doc2, await normalize_format_options_default(options8)); } -// src/config/resolve-config.js -var import_micromatch = __toESM(require_micromatch(), 1); -import path5 from "path"; - -// node_modules/mimic-fn/index.js -var copyProperty = (to, from, property, ignoreNonConfigurable) => { - if (property === "length" || property === "prototype") { - return; - } - if (property === "arguments" || property === "caller") { - return; - } - const toDescriptor = Object.getOwnPropertyDescriptor(to, property); - const fromDescriptor = Object.getOwnPropertyDescriptor(from, property); - if (!canCopyProperty(toDescriptor, fromDescriptor) && ignoreNonConfigurable) { - return; - } - Object.defineProperty(to, property, fromDescriptor); -}; -var canCopyProperty = function(toDescriptor, fromDescriptor) { - return toDescriptor === void 0 || toDescriptor.configurable || toDescriptor.writable === fromDescriptor.writable && toDescriptor.enumerable === fromDescriptor.enumerable && toDescriptor.configurable === fromDescriptor.configurable && (toDescriptor.writable || toDescriptor.value === fromDescriptor.value); -}; -var changePrototype = (to, from) => { - const fromPrototype = Object.getPrototypeOf(from); - if (fromPrototype === Object.getPrototypeOf(to)) { - return; - } - Object.setPrototypeOf(to, fromPrototype); -}; -var wrappedToString = (withName, fromBody) => `/* Wrapped ${withName}*/ -${fromBody}`; -var toStringDescriptor = Object.getOwnPropertyDescriptor(Function.prototype, "toString"); -var toStringName = Object.getOwnPropertyDescriptor(Function.prototype.toString, "name"); -var changeToString = (to, from, name) => { - const withName = name === "" ? "" : `with ${name.trim()}() `; - const newToString = wrappedToString.bind(null, withName, from.toString()); - Object.defineProperty(newToString, "name", toStringName); - Object.defineProperty(to, "toString", { ...toStringDescriptor, value: newToString }); -}; -function mimicFunction(to, from, { ignoreNonConfigurable = false } = {}) { - const { name } = to; - for (const property of Reflect.ownKeys(from)) { - copyProperty(to, from, property, ignoreNonConfigurable); - } - changePrototype(to, from); - changeToString(to, from, name); - return to; -} - -// node_modules/mem/dist/index.js -var import_map_age_cleaner = __toESM(require_dist(), 1); -var cacheStore = /* @__PURE__ */ new WeakMap(); -function mem(fn, { cacheKey, cache = /* @__PURE__ */ new Map(), maxAge } = {}) { - if (typeof maxAge === "number") { - (0, import_map_age_cleaner.default)(cache); - } - const memoized = function(...arguments_) { - const key = cacheKey ? cacheKey(arguments_) : arguments_[0]; - const cacheItem = cache.get(key); - if (cacheItem) { - return cacheItem.data; - } - const result = fn.apply(this, arguments_); - cache.set(key, { - data: result, - maxAge: maxAge ? Date.now() + maxAge : Number.POSITIVE_INFINITY - }); - return result; - }; - mimicFunction(memoized, fn, { - ignoreNonConfigurable: true - }); - cacheStore.set(memoized, cache); - return memoized; -} -function memClear(fn) { - const cache = cacheStore.get(fn); - if (!cache) { - throw new TypeError("Can't clear a function that was not memoized!"); - } - if (typeof cache.clear !== "function") { - throw new TypeError("The cache Map can't be cleared!"); - } - cache.clear(); -} - -// src/utils/partition.js -function partition2(array2, predicate) { - const result = [[], []]; - for (const value of array2) { - result[predicate(value) ? 0 : 1].push(value); - } - return result; -} -var partition_default = partition2; - -// src/config/resolve-editorconfig.js -var import_editorconfig = __toESM(require_src(), 1); -var import_editorconfig_to_prettier = __toESM(require_editorconfig_to_prettier(), 1); -import path2 from "path"; - -// src/config/find-project-root.js -import fs2 from "fs"; -import path from "path"; -var MARKERS = [".git", ".hg"]; -var markerExists = (directory) => MARKERS.some((mark) => fs2.existsSync(path.join(directory, mark))); -function findProjectRoot(directory) { - while (!markerExists(directory)) { - const parentDirectory = path.resolve(directory, ".."); - if (parentDirectory === directory) { - break; - } - directory = parentDirectory; - } - return directory; -} -var find_project_root_default = findProjectRoot; - -// src/config/resolve-editorconfig.js -async function loadEditorConfig(filePath) { - const editorConfig = await import_editorconfig.default.parse(filePath, { - root: find_project_root_default(path2.dirname(path2.resolve(filePath))) - }); - const config = (0, import_editorconfig_to_prettier.default)(editorConfig); - if (config) { - delete config.insertFinalNewline; - } - return config; -} -var resolve_editorconfig_default = loadEditorConfig; - -// src/config/get-prettier-config-explorer.js -var import_parse_async = __toESM(require_parse_async(), 1); -var import_parse3 = __toESM(require_parse3(), 1); -import mockable from "./internal/internal.mjs"; - -// src/utils/require-from-file.js -import { createRequire } from "module"; -function requireFromFile(id, parent) { - const require2 = createRequire(parent); - return require2(id); -} -var require_from_file_default = requireFromFile; - -// src/utils/import-from-file.js -import { pathToFileURL as pathToFileURL2 } from "url"; - -// node_modules/import-meta-resolve/lib/resolve.js -import assert5 from "assert"; -import { Stats, statSync, realpathSync } from "fs"; -import process4 from "process"; -import { URL as URL3, fileURLToPath as fileURLToPath3, pathToFileURL } from "url"; -import path4 from "path"; -import { builtinModules } from "module"; - -// node_modules/import-meta-resolve/lib/get-format.js -import { URL as URL2, fileURLToPath as fileURLToPath2 } from "url"; - -// node_modules/import-meta-resolve/lib/package-config.js -import { URL, fileURLToPath } from "url"; - -// node_modules/import-meta-resolve/lib/errors.js -import v8 from "v8"; -import process3 from "process"; -import assert4 from "assert"; -import { format, inspect } from "util"; -var isWindows = process3.platform === "win32"; -var own = {}.hasOwnProperty; -var classRegExp = /^([A-Z][a-z\d]*)+$/; -var kTypes = /* @__PURE__ */ new Set([ - "string", - "function", - "number", - "object", - // Accept 'Function' and 'Object' as alternative to the lower cased version. - "Function", - "Object", - "boolean", - "bigint", - "symbol" -]); -var codes = {}; -function formatList(array2, type = "and") { - return array2.length < 3 ? array2.join(` ${type} `) : `${array2.slice(0, -1).join(", ")}, ${type} ${array2[array2.length - 1]}`; -} -var messages = /* @__PURE__ */ new Map(); -var nodeInternalPrefix = "__node_internal_"; -var userStackTraceLimit; -codes.ERR_INVALID_ARG_TYPE = createError( - "ERR_INVALID_ARG_TYPE", - /** - * @param {string} name - * @param {Array<string> | string} expected - * @param {unknown} actual - */ - (name, expected, actual) => { - assert4(typeof name === "string", "'name' must be a string"); - if (!Array.isArray(expected)) { - expected = [expected]; - } - let message = "The "; - if (name.endsWith(" argument")) { - message += `${name} `; - } else { - const type = name.includes(".") ? "property" : "argument"; - message += `"${name}" ${type} `; - } - message += "must be "; - const types = []; - const instances = []; - const other = []; - for (const value of expected) { - assert4( - typeof value === "string", - "All expected entries have to be of type string" - ); - if (kTypes.has(value)) { - types.push(value.toLowerCase()); - } else if (classRegExp.exec(value) === null) { - assert4( - value !== "object", - 'The value "object" should be written as "Object"' - ); - other.push(value); - } else { - instances.push(value); - } - } - if (instances.length > 0) { - const pos = types.indexOf("object"); - if (pos !== -1) { - types.slice(pos, 1); - instances.push("Object"); - } - } - if (types.length > 0) { - message += `${types.length > 1 ? "one of type" : "of type"} ${formatList( - types, - "or" - )}`; - if (instances.length > 0 || other.length > 0) - message += " or "; - } - if (instances.length > 0) { - message += `an instance of ${formatList(instances, "or")}`; - if (other.length > 0) - message += " or "; - } - if (other.length > 0) { - if (other.length > 1) { - message += `one of ${formatList(other, "or")}`; - } else { - if (other[0].toLowerCase() !== other[0]) - message += "an "; - message += `${other[0]}`; - } - } - message += `. Received ${determineSpecificType(actual)}`; - return message; - }, - TypeError -); -codes.ERR_INVALID_MODULE_SPECIFIER = createError( - "ERR_INVALID_MODULE_SPECIFIER", - /** - * @param {string} request - * @param {string} reason - * @param {string} [base] - */ - (request, reason, base = void 0) => { - return `Invalid module "${request}" ${reason}${base ? ` imported from ${base}` : ""}`; - }, - TypeError -); -codes.ERR_INVALID_PACKAGE_CONFIG = createError( - "ERR_INVALID_PACKAGE_CONFIG", - /** - * @param {string} path - * @param {string} [base] - * @param {string} [message] - */ - (path9, base, message) => { - return `Invalid package config ${path9}${base ? ` while importing ${base}` : ""}${message ? `. ${message}` : ""}`; - }, - Error -); -codes.ERR_INVALID_PACKAGE_TARGET = createError( - "ERR_INVALID_PACKAGE_TARGET", - /** - * @param {string} pkgPath - * @param {string} key - * @param {unknown} target - * @param {boolean} [isImport=false] - * @param {string} [base] - */ - (pkgPath, key, target, isImport = false, base = void 0) => { - const relError = typeof target === "string" && !isImport && target.length > 0 && !target.startsWith("./"); - if (key === ".") { - assert4(isImport === false); - return `Invalid "exports" main target ${JSON.stringify(target)} defined in the package config ${pkgPath}package.json${base ? ` imported from ${base}` : ""}${relError ? '; targets must start with "./"' : ""}`; - } - return `Invalid "${isImport ? "imports" : "exports"}" target ${JSON.stringify( - target - )} defined for '${key}' in the package config ${pkgPath}package.json${base ? ` imported from ${base}` : ""}${relError ? '; targets must start with "./"' : ""}`; - }, - Error -); -codes.ERR_MODULE_NOT_FOUND = createError( - "ERR_MODULE_NOT_FOUND", - /** - * @param {string} path - * @param {string} base - * @param {string} [type] - */ - (path9, base, type = "package") => { - return `Cannot find ${type} '${path9}' imported from ${base}`; - }, - Error -); -codes.ERR_NETWORK_IMPORT_DISALLOWED = createError( - "ERR_NETWORK_IMPORT_DISALLOWED", - "import of '%s' by %s is not supported: %s", - Error -); -codes.ERR_PACKAGE_IMPORT_NOT_DEFINED = createError( - "ERR_PACKAGE_IMPORT_NOT_DEFINED", - /** - * @param {string} specifier - * @param {string} packagePath - * @param {string} base - */ - (specifier, packagePath, base) => { - return `Package import specifier "${specifier}" is not defined${packagePath ? ` in package ${packagePath}package.json` : ""} imported from ${base}`; - }, - TypeError -); -codes.ERR_PACKAGE_PATH_NOT_EXPORTED = createError( - "ERR_PACKAGE_PATH_NOT_EXPORTED", - /** - * @param {string} pkgPath - * @param {string} subpath - * @param {string} [base] - */ - (pkgPath, subpath, base = void 0) => { - if (subpath === ".") - return `No "exports" main defined in ${pkgPath}package.json${base ? ` imported from ${base}` : ""}`; - return `Package subpath '${subpath}' is not defined by "exports" in ${pkgPath}package.json${base ? ` imported from ${base}` : ""}`; - }, - Error -); -codes.ERR_UNSUPPORTED_DIR_IMPORT = createError( - "ERR_UNSUPPORTED_DIR_IMPORT", - "Directory import '%s' is not supported resolving ES modules imported from %s", - Error -); -codes.ERR_UNKNOWN_FILE_EXTENSION = createError( - "ERR_UNKNOWN_FILE_EXTENSION", - /** - * @param {string} ext - * @param {string} path - */ - (ext, path9) => { - return `Unknown file extension "${ext}" for ${path9}`; - }, - TypeError -); -codes.ERR_INVALID_ARG_VALUE = createError( - "ERR_INVALID_ARG_VALUE", - /** - * @param {string} name - * @param {unknown} value - * @param {string} [reason='is invalid'] - */ - (name, value, reason = "is invalid") => { - let inspected = inspect(value); - if (inspected.length > 128) { - inspected = `${inspected.slice(0, 128)}...`; - } - const type = name.includes(".") ? "property" : "argument"; - return `The ${type} '${name}' ${reason}. Received ${inspected}`; - }, - TypeError - // Note: extra classes have been shaken out. - // , RangeError -); -codes.ERR_UNSUPPORTED_ESM_URL_SCHEME = createError( - "ERR_UNSUPPORTED_ESM_URL_SCHEME", - /** - * @param {URL} url - * @param {Array<string>} supported - */ - (url, supported) => { - let message = `Only URLs with a scheme in: ${formatList( - supported - )} are supported by the default ESM loader`; - if (isWindows && url.protocol.length === 2) { - message += ". On Windows, absolute paths must be valid file:// URLs"; - } - message += `. Received protocol '${url.protocol}'`; - return message; - }, - Error -); -function createError(sym, value, def) { - messages.set(sym, value); - return makeNodeErrorWithCode(def, sym); -} -function makeNodeErrorWithCode(Base, key) { - return NodeError; - function NodeError(...args) { - const limit = Error.stackTraceLimit; - if (isErrorStackTraceLimitWritable()) - Error.stackTraceLimit = 0; - const error = new Base(); - if (isErrorStackTraceLimitWritable()) - Error.stackTraceLimit = limit; - const message = getMessage(key, args, error); - Object.defineProperties(error, { - // Note: no need to implement `kIsNodeError` symbol, would be hard, - // probably. - message: { - value: message, - enumerable: false, - writable: true, - configurable: true - }, - toString: { - /** @this {Error} */ - value() { - return `${this.name} [${key}]: ${this.message}`; - }, - enumerable: false, - writable: true, - configurable: true - } - }); - captureLargerStackTrace(error); - error.code = key; - return error; - } -} -function isErrorStackTraceLimitWritable() { - try { - if (v8.startupSnapshot.isBuildingSnapshot()) { - return false; - } - } catch { - } - const desc = Object.getOwnPropertyDescriptor(Error, "stackTraceLimit"); - if (desc === void 0) { - return Object.isExtensible(Error); - } - return own.call(desc, "writable") && desc.writable !== void 0 ? desc.writable : desc.set !== void 0; -} -function hideStackFrames(fn) { - const hidden = nodeInternalPrefix + fn.name; - Object.defineProperty(fn, "name", { value: hidden }); - return fn; -} -var captureLargerStackTrace = hideStackFrames( - /** - * @param {Error} error - * @returns {Error} - */ - // @ts-expect-error: fine - function(error) { - const stackTraceLimitIsWritable = isErrorStackTraceLimitWritable(); - if (stackTraceLimitIsWritable) { - userStackTraceLimit = Error.stackTraceLimit; - Error.stackTraceLimit = Number.POSITIVE_INFINITY; - } - Error.captureStackTrace(error); - if (stackTraceLimitIsWritable) - Error.stackTraceLimit = userStackTraceLimit; - return error; - } -); -function getMessage(key, args, self) { - const message = messages.get(key); - assert4(message !== void 0, "expected `message` to be found"); - if (typeof message === "function") { - assert4( - message.length <= args.length, - // Default options do not count. - `Code: ${key}; The provided arguments length (${args.length}) does not match the required ones (${message.length}).` - ); - return Reflect.apply(message, self, args); - } - const regex = /%[dfijoOs]/g; - let expectedLength = 0; - while (regex.exec(message) !== null) - expectedLength++; - assert4( - expectedLength === args.length, - `Code: ${key}; The provided arguments length (${args.length}) does not match the required ones (${expectedLength}).` - ); - if (args.length === 0) - return message; - args.unshift(message); - return Reflect.apply(format, null, args); -} -function determineSpecificType(value) { - if (value === null || value === void 0) { - return String(value); - } - if (typeof value === "function" && value.name) { - return `function ${value.name}`; - } - if (typeof value === "object") { - if (value.constructor && value.constructor.name) { - return `an instance of ${value.constructor.name}`; - } - return `${inspect(value, { depth: -1 })}`; - } - let inspected = inspect(value, { colors: false }); - if (inspected.length > 28) { - inspected = `${inspected.slice(0, 25)}...`; - } - return `type ${typeof value} (${inspected})`; -} - -// node_modules/import-meta-resolve/lib/package-json-reader.js -import fs3 from "fs"; -import path3 from "path"; -var reader = { read }; -var package_json_reader_default = reader; -function read(jsonPath) { - try { - const string = fs3.readFileSync( - path3.toNamespacedPath(path3.join(path3.dirname(jsonPath), "package.json")), - "utf8" - ); - return { string }; - } catch (error) { - const exception = ( - /** @type {ErrnoException} */ - error - ); - if (exception.code === "ENOENT") { - return { string: void 0 }; - } - throw exception; - } -} - -// node_modules/import-meta-resolve/lib/package-config.js -var { ERR_INVALID_PACKAGE_CONFIG } = codes; -var packageJsonCache = /* @__PURE__ */ new Map(); -function getPackageConfig(path9, specifier, base) { - const existing = packageJsonCache.get(path9); - if (existing !== void 0) { - return existing; - } - const source = package_json_reader_default.read(path9).string; - if (source === void 0) { - const packageConfig2 = { - pjsonPath: path9, - exists: false, - main: void 0, - name: void 0, - type: "none", - exports: void 0, - imports: void 0 - }; - packageJsonCache.set(path9, packageConfig2); - return packageConfig2; - } - let packageJson; - try { - packageJson = JSON.parse(source); - } catch (error) { - const exception = ( - /** @type {ErrnoException} */ - error - ); - throw new ERR_INVALID_PACKAGE_CONFIG( - path9, - (base ? `"${specifier}" from ` : "") + fileURLToPath(base || specifier), - exception.message - ); - } - const { exports, imports, main, name, type } = packageJson; - const packageConfig = { - pjsonPath: path9, - exists: true, - main: typeof main === "string" ? main : void 0, - name: typeof name === "string" ? name : void 0, - type: type === "module" || type === "commonjs" ? type : "none", - // @ts-expect-error Assume `Record<string, unknown>`. - exports, - // @ts-expect-error Assume `Record<string, unknown>`. - imports: imports && typeof imports === "object" ? imports : void 0 - }; - packageJsonCache.set(path9, packageConfig); - return packageConfig; -} -function getPackageScopeConfig(resolved) { - let packageJsonUrl = new URL("package.json", resolved); - while (true) { - const packageJsonPath2 = packageJsonUrl.pathname; - if (packageJsonPath2.endsWith("node_modules/package.json")) - break; - const packageConfig2 = getPackageConfig( - fileURLToPath(packageJsonUrl), - resolved - ); - if (packageConfig2.exists) - return packageConfig2; - const lastPackageJsonUrl = packageJsonUrl; - packageJsonUrl = new URL("../package.json", packageJsonUrl); - if (packageJsonUrl.pathname === lastPackageJsonUrl.pathname) - break; - } - const packageJsonPath = fileURLToPath(packageJsonUrl); - const packageConfig = { - pjsonPath: packageJsonPath, - exists: false, - main: void 0, - name: void 0, - type: "none", - exports: void 0, - imports: void 0 - }; - packageJsonCache.set(packageJsonPath, packageConfig); - return packageConfig; -} - -// node_modules/import-meta-resolve/lib/resolve-get-package-type.js -function getPackageType(url) { - const packageConfig = getPackageScopeConfig(url); - return packageConfig.type; -} - -// node_modules/import-meta-resolve/lib/get-format.js -var { ERR_UNKNOWN_FILE_EXTENSION } = codes; -var hasOwnProperty = {}.hasOwnProperty; -var extensionFormatMap = { - // @ts-expect-error: hush. - __proto__: null, - ".cjs": "commonjs", - ".js": "module", - ".json": "json", - ".mjs": "module" -}; -function mimeToFormat(mime) { - if (mime && /\s*(text|application)\/javascript\s*(;\s*charset=utf-?8\s*)?/i.test(mime)) - return "module"; - if (mime === "application/json") - return "json"; - return null; -} -var protocolHandlers = { - // @ts-expect-error: hush. - __proto__: null, - "data:": getDataProtocolModuleFormat, - "file:": getFileProtocolModuleFormat, - "http:": getHttpProtocolModuleFormat, - "https:": getHttpProtocolModuleFormat, - "node:"() { - return "builtin"; - } -}; -function getDataProtocolModuleFormat(parsed) { - const { 1: mime } = /^([^/]+\/[^;,]+)[^,]*?(;base64)?,/.exec( - parsed.pathname - ) || [null, null, null]; - return mimeToFormat(mime); -} -function extname(url) { - const pathname = url.pathname; - let index = pathname.length; - while (index--) { - const code = pathname.codePointAt(index); - if (code === 47) { - return ""; - } - if (code === 46) { - return pathname.codePointAt(index - 1) === 47 ? "" : pathname.slice(index); - } - } - return ""; -} -function getFileProtocolModuleFormat(url, _context, ignoreErrors) { - const ext = extname(url); - if (ext === ".js") { - return getPackageType(url) === "module" ? "module" : "commonjs"; - } - const format3 = extensionFormatMap[ext]; - if (format3) - return format3; - if (ignoreErrors) { - return void 0; - } - const filepath = fileURLToPath2(url); - throw new ERR_UNKNOWN_FILE_EXTENSION(ext, filepath); -} -function getHttpProtocolModuleFormat() { -} -function defaultGetFormatWithoutErrors(url, context) { - if (!hasOwnProperty.call(protocolHandlers, url.protocol)) { - return null; - } - return protocolHandlers[url.protocol](url, context, true) || null; -} - -// node_modules/import-meta-resolve/lib/utils.js -var { ERR_INVALID_ARG_VALUE } = codes; -var DEFAULT_CONDITIONS = Object.freeze(["node", "import"]); -var DEFAULT_CONDITIONS_SET = new Set(DEFAULT_CONDITIONS); -function getDefaultConditions() { - return DEFAULT_CONDITIONS; -} -function getDefaultConditionsSet() { - return DEFAULT_CONDITIONS_SET; -} -function getConditionsSet(conditions) { - if (conditions !== void 0 && conditions !== getDefaultConditions()) { - if (!Array.isArray(conditions)) { - throw new ERR_INVALID_ARG_VALUE( - "conditions", - conditions, - "expected an array" - ); - } - return new Set(conditions); - } - return getDefaultConditionsSet(); -} - -// node_modules/import-meta-resolve/lib/resolve.js -var RegExpPrototypeSymbolReplace = RegExp.prototype[Symbol.replace]; -var experimentalNetworkImports = false; -var { - ERR_NETWORK_IMPORT_DISALLOWED, - ERR_INVALID_MODULE_SPECIFIER, - ERR_INVALID_PACKAGE_CONFIG: ERR_INVALID_PACKAGE_CONFIG2, - ERR_INVALID_PACKAGE_TARGET, - ERR_MODULE_NOT_FOUND, - ERR_PACKAGE_IMPORT_NOT_DEFINED, - ERR_PACKAGE_PATH_NOT_EXPORTED, - ERR_UNSUPPORTED_DIR_IMPORT, - ERR_UNSUPPORTED_ESM_URL_SCHEME -} = codes; -var own2 = {}.hasOwnProperty; -var invalidSegmentRegEx = /(^|\\|\/)((\.|%2e)(\.|%2e)?|(n|%6e|%4e)(o|%6f|%4f)(d|%64|%44)(e|%65|%45)(_|%5f)(m|%6d|%4d)(o|%6f|%4f)(d|%64|%44)(u|%75|%55)(l|%6c|%4c)(e|%65|%45)(s|%73|%53))?(\\|\/|$)/i; -var deprecatedInvalidSegmentRegEx = /(^|\\|\/)((\.|%2e)(\.|%2e)?|(n|%6e|%4e)(o|%6f|%4f)(d|%64|%44)(e|%65|%45)(_|%5f)(m|%6d|%4d)(o|%6f|%4f)(d|%64|%44)(u|%75|%55)(l|%6c|%4c)(e|%65|%45)(s|%73|%53))(\\|\/|$)/i; -var invalidPackageNameRegEx = /^\.|%|\\/; -var patternRegEx = /\*/g; -var encodedSepRegEx = /%2f|%5c/i; -var emittedPackageWarnings = /* @__PURE__ */ new Set(); -var doubleSlashRegEx = /[/\\]{2}/; -function emitInvalidSegmentDeprecation(target, request, match, packageJsonUrl, internal, base, isTarget) { - const pjsonPath = fileURLToPath3(packageJsonUrl); - const double = doubleSlashRegEx.exec(isTarget ? target : request) !== null; - process4.emitWarning( - `Use of deprecated ${double ? "double slash" : "leading or trailing slash matching"} resolving "${target}" for module request "${request}" ${request === match ? "" : `matched to "${match}" `}in the "${internal ? "imports" : "exports"}" field module resolution of the package at ${pjsonPath}${base ? ` imported from ${fileURLToPath3(base)}` : ""}.`, - "DeprecationWarning", - "DEP0166" - ); -} -function emitLegacyIndexDeprecation(url, packageJsonUrl, base, main) { - const format3 = defaultGetFormatWithoutErrors(url, { parentURL: base.href }); - if (format3 !== "module") - return; - const path9 = fileURLToPath3(url.href); - const pkgPath = fileURLToPath3(new URL3(".", packageJsonUrl)); - const basePath = fileURLToPath3(base); - if (main) - process4.emitWarning( - `Package ${pkgPath} has a "main" field set to ${JSON.stringify(main)}, excluding the full filename and extension to the resolved file at "${path9.slice( - pkgPath.length - )}", imported from ${basePath}. - Automatic extension resolution of the "main" field isdeprecated for ES modules.`, - "DeprecationWarning", - "DEP0151" - ); - else - process4.emitWarning( - `No "main" or "exports" field defined in the package.json for ${pkgPath} resolving the main entry point "${path9.slice( - pkgPath.length - )}", imported from ${basePath}. -Default "index" lookups for the main are deprecated for ES modules.`, - "DeprecationWarning", - "DEP0151" - ); -} -function tryStatSync(path9) { - try { - return statSync(path9); - } catch { - return new Stats(); - } -} -function fileExists(url) { - const stats = statSync(url, { throwIfNoEntry: false }); - const isFile = stats ? stats.isFile() : void 0; - return isFile === null || isFile === void 0 ? false : isFile; -} -function legacyMainResolve(packageJsonUrl, packageConfig, base) { - let guess; - if (packageConfig.main !== void 0) { - guess = new URL3(packageConfig.main, packageJsonUrl); - if (fileExists(guess)) - return guess; - const tries2 = [ - `./${packageConfig.main}.js`, - `./${packageConfig.main}.json`, - `./${packageConfig.main}.node`, - `./${packageConfig.main}/index.js`, - `./${packageConfig.main}/index.json`, - `./${packageConfig.main}/index.node` - ]; - let i2 = -1; - while (++i2 < tries2.length) { - guess = new URL3(tries2[i2], packageJsonUrl); - if (fileExists(guess)) - break; - guess = void 0; - } - if (guess) { - emitLegacyIndexDeprecation( - guess, - packageJsonUrl, - base, - packageConfig.main - ); - return guess; - } - } - const tries = ["./index.js", "./index.json", "./index.node"]; - let i = -1; - while (++i < tries.length) { - guess = new URL3(tries[i], packageJsonUrl); - if (fileExists(guess)) - break; - guess = void 0; - } - if (guess) { - emitLegacyIndexDeprecation(guess, packageJsonUrl, base, packageConfig.main); - return guess; - } - throw new ERR_MODULE_NOT_FOUND( - fileURLToPath3(new URL3(".", packageJsonUrl)), - fileURLToPath3(base) - ); -} -function finalizeResolution(resolved, base, preserveSymlinks) { - if (encodedSepRegEx.exec(resolved.pathname) !== null) - throw new ERR_INVALID_MODULE_SPECIFIER( - resolved.pathname, - 'must not include encoded "/" or "\\" characters', - fileURLToPath3(base) - ); - const filePath = fileURLToPath3(resolved); - const stats = tryStatSync( - filePath.endsWith("/") ? filePath.slice(-1) : filePath - ); - if (stats.isDirectory()) { - const error = new ERR_UNSUPPORTED_DIR_IMPORT(filePath, fileURLToPath3(base)); - error.url = String(resolved); - throw error; - } - if (!stats.isFile()) { - throw new ERR_MODULE_NOT_FOUND( - filePath || resolved.pathname, - base && fileURLToPath3(base), - "module" - ); - } - if (!preserveSymlinks) { - const real = realpathSync(filePath); - const { search, hash } = resolved; - resolved = pathToFileURL(real + (filePath.endsWith(path4.sep) ? "/" : "")); - resolved.search = search; - resolved.hash = hash; - } - return resolved; -} -function importNotDefined(specifier, packageJsonUrl, base) { - return new ERR_PACKAGE_IMPORT_NOT_DEFINED( - specifier, - packageJsonUrl && fileURLToPath3(new URL3(".", packageJsonUrl)), - fileURLToPath3(base) - ); -} -function exportsNotFound(subpath, packageJsonUrl, base) { - return new ERR_PACKAGE_PATH_NOT_EXPORTED( - fileURLToPath3(new URL3(".", packageJsonUrl)), - subpath, - base && fileURLToPath3(base) - ); -} -function throwInvalidSubpath(request, match, packageJsonUrl, internal, base) { - const reason = `request is not a valid match in pattern "${match}" for the "${internal ? "imports" : "exports"}" resolution of ${fileURLToPath3(packageJsonUrl)}`; - throw new ERR_INVALID_MODULE_SPECIFIER( - request, - reason, - base && fileURLToPath3(base) - ); -} -function invalidPackageTarget(subpath, target, packageJsonUrl, internal, base) { - target = typeof target === "object" && target !== null ? JSON.stringify(target, null, "") : `${target}`; - return new ERR_INVALID_PACKAGE_TARGET( - fileURLToPath3(new URL3(".", packageJsonUrl)), - subpath, - target, - internal, - base && fileURLToPath3(base) - ); -} -function resolvePackageTargetString(target, subpath, match, packageJsonUrl, base, pattern, internal, isPathMap, conditions) { - if (subpath !== "" && !pattern && target[target.length - 1] !== "/") - throw invalidPackageTarget(match, target, packageJsonUrl, internal, base); - if (!target.startsWith("./")) { - if (internal && !target.startsWith("../") && !target.startsWith("/")) { - let isURL2 = false; - try { - new URL3(target); - isURL2 = true; - } catch { - } - if (!isURL2) { - const exportTarget = pattern ? RegExpPrototypeSymbolReplace.call( - patternRegEx, - target, - () => subpath - ) : target + subpath; - return packageResolve(exportTarget, packageJsonUrl, conditions); - } - } - throw invalidPackageTarget(match, target, packageJsonUrl, internal, base); - } - if (invalidSegmentRegEx.exec(target.slice(2)) !== null) { - if (deprecatedInvalidSegmentRegEx.exec(target.slice(2)) === null) { - if (!isPathMap) { - const request = pattern ? match.replace("*", () => subpath) : match + subpath; - const resolvedTarget = pattern ? RegExpPrototypeSymbolReplace.call( - patternRegEx, - target, - () => subpath - ) : target; - emitInvalidSegmentDeprecation( - resolvedTarget, - request, - match, - packageJsonUrl, - internal, - base, - true - ); - } - } else { - throw invalidPackageTarget(match, target, packageJsonUrl, internal, base); - } - } - const resolved = new URL3(target, packageJsonUrl); - const resolvedPath = resolved.pathname; - const packagePath = new URL3(".", packageJsonUrl).pathname; - if (!resolvedPath.startsWith(packagePath)) - throw invalidPackageTarget(match, target, packageJsonUrl, internal, base); - if (subpath === "") - return resolved; - if (invalidSegmentRegEx.exec(subpath) !== null) { - const request = pattern ? match.replace("*", () => subpath) : match + subpath; - if (deprecatedInvalidSegmentRegEx.exec(subpath) === null) { - if (!isPathMap) { - const resolvedTarget = pattern ? RegExpPrototypeSymbolReplace.call( - patternRegEx, - target, - () => subpath - ) : target; - emitInvalidSegmentDeprecation( - resolvedTarget, - request, - match, - packageJsonUrl, - internal, - base, - false - ); - } - } else { - throwInvalidSubpath(request, match, packageJsonUrl, internal, base); - } - } - if (pattern) { - return new URL3( - RegExpPrototypeSymbolReplace.call( - patternRegEx, - resolved.href, - () => subpath - ) - ); - } - return new URL3(subpath, resolved); -} -function isArrayIndex(key) { - const keyNumber = Number(key); - if (`${keyNumber}` !== key) - return false; - return keyNumber >= 0 && keyNumber < 4294967295; -} -function resolvePackageTarget(packageJsonUrl, target, subpath, packageSubpath, base, pattern, internal, isPathMap, conditions) { - if (typeof target === "string") { - return resolvePackageTargetString( - target, - subpath, - packageSubpath, - packageJsonUrl, - base, - pattern, - internal, - isPathMap, - conditions - ); - } - if (Array.isArray(target)) { - const targetList = target; - if (targetList.length === 0) - return null; - let lastException; - let i = -1; - while (++i < targetList.length) { - const targetItem = targetList[i]; - let resolveResult; - try { - resolveResult = resolvePackageTarget( - packageJsonUrl, - targetItem, - subpath, - packageSubpath, - base, - pattern, - internal, - isPathMap, - conditions - ); - } catch (error) { - const exception = ( - /** @type {ErrnoException} */ - error - ); - lastException = exception; - if (exception.code === "ERR_INVALID_PACKAGE_TARGET") - continue; - throw error; - } - if (resolveResult === void 0) - continue; - if (resolveResult === null) { - lastException = null; - continue; - } - return resolveResult; - } - if (lastException === void 0 || lastException === null) { - return null; - } - throw lastException; - } - if (typeof target === "object" && target !== null) { - const keys = Object.getOwnPropertyNames(target); - let i = -1; - while (++i < keys.length) { - const key = keys[i]; - if (isArrayIndex(key)) { - throw new ERR_INVALID_PACKAGE_CONFIG2( - fileURLToPath3(packageJsonUrl), - base, - '"exports" cannot contain numeric property keys.' - ); - } - } - i = -1; - while (++i < keys.length) { - const key = keys[i]; - if (key === "default" || conditions && conditions.has(key)) { - const conditionalTarget = ( - /** @type {unknown} */ - target[key] - ); - const resolveResult = resolvePackageTarget( - packageJsonUrl, - conditionalTarget, - subpath, - packageSubpath, - base, - pattern, - internal, - isPathMap, - conditions - ); - if (resolveResult === void 0) - continue; - return resolveResult; - } - } - return null; - } - if (target === null) { - return null; - } - throw invalidPackageTarget( - packageSubpath, - target, - packageJsonUrl, - internal, - base - ); -} -function isConditionalExportsMainSugar(exports, packageJsonUrl, base) { - if (typeof exports === "string" || Array.isArray(exports)) - return true; - if (typeof exports !== "object" || exports === null) - return false; - const keys = Object.getOwnPropertyNames(exports); - let isConditionalSugar = false; - let i = 0; - let j = -1; - while (++j < keys.length) { - const key = keys[j]; - const curIsConditionalSugar = key === "" || key[0] !== "."; - if (i++ === 0) { - isConditionalSugar = curIsConditionalSugar; - } else if (isConditionalSugar !== curIsConditionalSugar) { - throw new ERR_INVALID_PACKAGE_CONFIG2( - fileURLToPath3(packageJsonUrl), - base, - `"exports" cannot contain some keys starting with '.' and some not. The exports object must either be an object of package subpath keys or an object of main entry condition name keys only.` - ); - } - } - return isConditionalSugar; -} -function emitTrailingSlashPatternDeprecation(match, pjsonUrl, base) { - const pjsonPath = fileURLToPath3(pjsonUrl); - if (emittedPackageWarnings.has(pjsonPath + "|" + match)) - return; - emittedPackageWarnings.add(pjsonPath + "|" + match); - process4.emitWarning( - `Use of deprecated trailing slash pattern mapping "${match}" in the "exports" field module resolution of the package at ${pjsonPath}${base ? ` imported from ${fileURLToPath3(base)}` : ""}. Mapping specifiers ending in "/" is no longer supported.`, - "DeprecationWarning", - "DEP0155" - ); -} -function packageExportsResolve(packageJsonUrl, packageSubpath, packageConfig, base, conditions) { - let exports = packageConfig.exports; - if (isConditionalExportsMainSugar(exports, packageJsonUrl, base)) { - exports = { ".": exports }; - } - if (own2.call(exports, packageSubpath) && !packageSubpath.includes("*") && !packageSubpath.endsWith("/")) { - const target = exports[packageSubpath]; - const resolveResult = resolvePackageTarget( - packageJsonUrl, - target, - "", - packageSubpath, - base, - false, - false, - false, - conditions - ); - if (resolveResult === null || resolveResult === void 0) { - throw exportsNotFound(packageSubpath, packageJsonUrl, base); - } - return resolveResult; - } - let bestMatch = ""; - let bestMatchSubpath = ""; - const keys = Object.getOwnPropertyNames(exports); - let i = -1; - while (++i < keys.length) { - const key = keys[i]; - const patternIndex = key.indexOf("*"); - if (patternIndex !== -1 && packageSubpath.startsWith(key.slice(0, patternIndex))) { - if (packageSubpath.endsWith("/")) { - emitTrailingSlashPatternDeprecation( - packageSubpath, - packageJsonUrl, - base - ); - } - const patternTrailer = key.slice(patternIndex + 1); - if (packageSubpath.length >= key.length && packageSubpath.endsWith(patternTrailer) && patternKeyCompare(bestMatch, key) === 1 && key.lastIndexOf("*") === patternIndex) { - bestMatch = key; - bestMatchSubpath = packageSubpath.slice( - patternIndex, - packageSubpath.length - patternTrailer.length - ); - } - } - } - if (bestMatch) { - const target = ( - /** @type {unknown} */ - exports[bestMatch] - ); - const resolveResult = resolvePackageTarget( - packageJsonUrl, - target, - bestMatchSubpath, - bestMatch, - base, - true, - false, - packageSubpath.endsWith("/"), - conditions - ); - if (resolveResult === null || resolveResult === void 0) { - throw exportsNotFound(packageSubpath, packageJsonUrl, base); - } - return resolveResult; - } - throw exportsNotFound(packageSubpath, packageJsonUrl, base); -} -function patternKeyCompare(a, b) { - const aPatternIndex = a.indexOf("*"); - const bPatternIndex = b.indexOf("*"); - const baseLengthA = aPatternIndex === -1 ? a.length : aPatternIndex + 1; - const baseLengthB = bPatternIndex === -1 ? b.length : bPatternIndex + 1; - if (baseLengthA > baseLengthB) - return -1; - if (baseLengthB > baseLengthA) - return 1; - if (aPatternIndex === -1) - return 1; - if (bPatternIndex === -1) - return -1; - if (a.length > b.length) - return -1; - if (b.length > a.length) - return 1; - return 0; -} -function packageImportsResolve(name, base, conditions) { - if (name === "#" || name.startsWith("#/") || name.endsWith("/")) { - const reason = "is not a valid internal imports specifier name"; - throw new ERR_INVALID_MODULE_SPECIFIER(name, reason, fileURLToPath3(base)); - } - let packageJsonUrl; - const packageConfig = getPackageScopeConfig(base); - if (packageConfig.exists) { - packageJsonUrl = pathToFileURL(packageConfig.pjsonPath); - const imports = packageConfig.imports; - if (imports) { - if (own2.call(imports, name) && !name.includes("*")) { - const resolveResult = resolvePackageTarget( - packageJsonUrl, - imports[name], - "", - name, - base, - false, - true, - false, - conditions - ); - if (resolveResult !== null && resolveResult !== void 0) { - return resolveResult; - } - } else { - let bestMatch = ""; - let bestMatchSubpath = ""; - const keys = Object.getOwnPropertyNames(imports); - let i = -1; - while (++i < keys.length) { - const key = keys[i]; - const patternIndex = key.indexOf("*"); - if (patternIndex !== -1 && name.startsWith(key.slice(0, -1))) { - const patternTrailer = key.slice(patternIndex + 1); - if (name.length >= key.length && name.endsWith(patternTrailer) && patternKeyCompare(bestMatch, key) === 1 && key.lastIndexOf("*") === patternIndex) { - bestMatch = key; - bestMatchSubpath = name.slice( - patternIndex, - name.length - patternTrailer.length - ); - } - } - } - if (bestMatch) { - const target = imports[bestMatch]; - const resolveResult = resolvePackageTarget( - packageJsonUrl, - target, - bestMatchSubpath, - bestMatch, - base, - true, - true, - false, - conditions - ); - if (resolveResult !== null && resolveResult !== void 0) { - return resolveResult; - } - } - } - } - } - throw importNotDefined(name, packageJsonUrl, base); -} -function parsePackageName(specifier, base) { - let separatorIndex = specifier.indexOf("/"); - let validPackageName = true; - let isScoped = false; - if (specifier[0] === "@") { - isScoped = true; - if (separatorIndex === -1 || specifier.length === 0) { - validPackageName = false; - } else { - separatorIndex = specifier.indexOf("/", separatorIndex + 1); - } - } - const packageName = separatorIndex === -1 ? specifier : specifier.slice(0, separatorIndex); - if (invalidPackageNameRegEx.exec(packageName) !== null) { - validPackageName = false; - } - if (!validPackageName) { - throw new ERR_INVALID_MODULE_SPECIFIER( - specifier, - "is not a valid package name", - fileURLToPath3(base) - ); - } - const packageSubpath = "." + (separatorIndex === -1 ? "" : specifier.slice(separatorIndex)); - return { packageName, packageSubpath, isScoped }; -} -function packageResolve(specifier, base, conditions) { - if (builtinModules.includes(specifier)) { - return new URL3("node:" + specifier); - } - const { packageName, packageSubpath, isScoped } = parsePackageName( - specifier, - base - ); - const packageConfig = getPackageScopeConfig(base); - if (packageConfig.exists) { - const packageJsonUrl2 = pathToFileURL(packageConfig.pjsonPath); - if (packageConfig.name === packageName && packageConfig.exports !== void 0 && packageConfig.exports !== null) { - return packageExportsResolve( - packageJsonUrl2, - packageSubpath, - packageConfig, - base, - conditions - ); - } - } - let packageJsonUrl = new URL3( - "./node_modules/" + packageName + "/package.json", - base - ); - let packageJsonPath = fileURLToPath3(packageJsonUrl); - let lastPath; - do { - const stat = tryStatSync(packageJsonPath.slice(0, -13)); - if (!stat.isDirectory()) { - lastPath = packageJsonPath; - packageJsonUrl = new URL3( - (isScoped ? "../../../../node_modules/" : "../../../node_modules/") + packageName + "/package.json", - packageJsonUrl - ); - packageJsonPath = fileURLToPath3(packageJsonUrl); - continue; - } - const packageConfig2 = getPackageConfig(packageJsonPath, specifier, base); - if (packageConfig2.exports !== void 0 && packageConfig2.exports !== null) { - return packageExportsResolve( - packageJsonUrl, - packageSubpath, - packageConfig2, - base, - conditions - ); - } - if (packageSubpath === ".") { - return legacyMainResolve(packageJsonUrl, packageConfig2, base); - } - return new URL3(packageSubpath, packageJsonUrl); - } while (packageJsonPath.length !== lastPath.length); - throw new ERR_MODULE_NOT_FOUND(packageName, fileURLToPath3(base)); -} -function isRelativeSpecifier(specifier) { - if (specifier[0] === ".") { - if (specifier.length === 1 || specifier[1] === "/") - return true; - if (specifier[1] === "." && (specifier.length === 2 || specifier[2] === "/")) { - return true; - } - } - return false; -} -function shouldBeTreatedAsRelativeOrAbsolutePath(specifier) { - if (specifier === "") - return false; - if (specifier[0] === "/") - return true; - return isRelativeSpecifier(specifier); -} -function moduleResolve(specifier, base, conditions, preserveSymlinks) { - const protocol = base.protocol; - const isRemote = protocol === "http:" || protocol === "https:"; - let resolved; - if (shouldBeTreatedAsRelativeOrAbsolutePath(specifier)) { - resolved = new URL3(specifier, base); - } else if (!isRemote && specifier[0] === "#") { - resolved = packageImportsResolve(specifier, base, conditions); - } else { - try { - resolved = new URL3(specifier); - } catch { - if (!isRemote) { - resolved = packageResolve(specifier, base, conditions); - } - } - } - assert5(resolved !== void 0, "expected to be defined"); - if (resolved.protocol !== "file:") { - return resolved; - } - return finalizeResolution(resolved, base, preserveSymlinks); -} -function checkIfDisallowedImport(specifier, parsed, parsedParentURL) { - if (parsedParentURL) { - const parentProtocol = parsedParentURL.protocol; - if (parentProtocol === "http:" || parentProtocol === "https:") { - if (shouldBeTreatedAsRelativeOrAbsolutePath(specifier)) { - const parsedProtocol = parsed == null ? void 0 : parsed.protocol; - if (parsedProtocol && parsedProtocol !== "https:" && parsedProtocol !== "http:") { - throw new ERR_NETWORK_IMPORT_DISALLOWED( - specifier, - parsedParentURL, - "remote imports cannot import from a local location." - ); - } - return { url: (parsed == null ? void 0 : parsed.href) || "" }; - } - if (builtinModules.includes(specifier)) { - throw new ERR_NETWORK_IMPORT_DISALLOWED( - specifier, - parsedParentURL, - "remote imports cannot import from a local location." - ); - } - throw new ERR_NETWORK_IMPORT_DISALLOWED( - specifier, - parsedParentURL, - "only relative and absolute specifiers are supported." - ); - } - } -} -function isURL(self) { - return Boolean( - self && typeof self === "object" && "href" in self && typeof self.href === "string" && "protocol" in self && typeof self.protocol === "string" && self.href && self.protocol - ); -} -function throwIfInvalidParentURL(parentURL) { - if (parentURL === void 0) { - return; - } - if (typeof parentURL !== "string" && !isURL(parentURL)) { - throw new codes.ERR_INVALID_ARG_TYPE( - "parentURL", - ["string", "URL"], - parentURL - ); - } -} -function throwIfUnsupportedURLProtocol(url) { - const protocol = url.protocol; - if (protocol !== "file:" && protocol !== "data:" && protocol !== "node:") { - throw new ERR_UNSUPPORTED_ESM_URL_SCHEME(url); - } -} -function throwIfUnsupportedURLScheme(parsed, experimentalNetworkImports2) { - const protocol = parsed == null ? void 0 : parsed.protocol; - if (protocol && protocol !== "file:" && protocol !== "data:" && (!experimentalNetworkImports2 || protocol !== "https:" && protocol !== "http:")) { - throw new ERR_UNSUPPORTED_ESM_URL_SCHEME( - parsed, - ["file", "data"].concat( - experimentalNetworkImports2 ? ["https", "http"] : [] - ) - ); - } -} -function defaultResolve(specifier, context = {}) { - const { parentURL } = context; - assert5(parentURL !== void 0, "expected `parentURL` to be defined"); - throwIfInvalidParentURL(parentURL); - let parsedParentURL; - if (parentURL) { - try { - parsedParentURL = new URL3(parentURL); - } catch { - } - } - let parsed; - try { - parsed = shouldBeTreatedAsRelativeOrAbsolutePath(specifier) ? new URL3(specifier, parsedParentURL) : new URL3(specifier); - const protocol = parsed.protocol; - if (protocol === "data:" || experimentalNetworkImports && (protocol === "https:" || protocol === "http:")) { - return { url: parsed.href, format: null }; - } - } catch { - } - const maybeReturn = checkIfDisallowedImport( - specifier, - parsed, - parsedParentURL - ); - if (maybeReturn) - return maybeReturn; - if (parsed && parsed.protocol === "node:") - return { url: specifier }; - throwIfUnsupportedURLScheme(parsed, experimentalNetworkImports); - const conditions = getConditionsSet(context.conditions); - const url = moduleResolve(specifier, new URL3(parentURL), conditions, false); - throwIfUnsupportedURLProtocol(url); - return { - // Do NOT cast `url` to a string: that will work even when there are real - // problems, silencing them - url: url.href, - format: defaultGetFormatWithoutErrors(url, { parentURL }) - }; -} - -// node_modules/import-meta-resolve/index.js -function resolve(specifier, parent) { - if (!parent) { - throw new Error( - "Please pass `parent`: `import-meta-resolve` cannot ponyfill that" - ); - } - try { - return defaultResolve(specifier, { parentURL: parent }).url; - } catch (error) { - const exception = ( - /** @type {ErrnoException} */ - error - ); - if (exception.code === "ERR_UNSUPPORTED_DIR_IMPORT" && typeof exception.url === "string") { - return exception.url; - } - throw error; - } -} - -// src/utils/import-from-file.js -function importFromFile(specifier, parent) { - const url = resolve(specifier, pathToFileURL2(parent).href); - return import(url); -} -var import_from_file_default = importFromFile; - -// src/config/load-external-config.js -var requireErrorCodesShouldBeIgnored = /* @__PURE__ */ new Set([ - "MODULE_NOT_FOUND", - "ERR_REQUIRE_ESM", - "ERR_PACKAGE_PATH_NOT_EXPORTED" -]); -async function loadExternalConfig(config, filepath) { - try { - return require_from_file_default(config, filepath); - } catch (error) { - if (!requireErrorCodesShouldBeIgnored.has(error == null ? void 0 : error.code)) { - throw error; - } - } - const module = await import_from_file_default(config, filepath); - return module.default; -} -var load_external_config_default = loadExternalConfig; - -// src/config/get-prettier-config-explorer.js -var { cosmiconfig } = mockable; -var searchPlaces = [ - "package.json", - ".prettierrc", - ".prettierrc.json", - ".prettierrc.yaml", - ".prettierrc.yml", - ".prettierrc.json5", - ".prettierrc.js", - ".prettierrc.mjs", - ".prettierrc.cjs", - "prettier.config.js", - "prettier.config.mjs", - "prettier.config.cjs", - ".prettierrc.toml" -]; -var loaders = { - async ".toml"(filePath, content) { - try { - return await (0, import_parse_async.default)(content); - } catch (error) { - error.message = `TOML Error in ${filePath}: -${error.message}`; - throw error; - } - }, - ".json5"(filePath, content) { - try { - return (0, import_parse3.default)(content); - } catch (error) { - error.message = `JSON5 Error in ${filePath}: -${error.message}`; - throw error; - } - } -}; -async function transform(result) { - if (!(result == null ? void 0 : result.config)) { - return result; - } - let { config, filepath } = result; - if (typeof config === "string") { - config = await load_external_config_default(config, filepath); - result.config = config; - } - if (typeof config !== "object") { - throw new TypeError( - `Config is only allowed to be an object, but received ${typeof config} in "${filepath}"` - ); - } - delete config.$schema; - return result; -} -function getExplorer(options8) { - return cosmiconfig("prettier", { - cache: options8.cache, - transform, - searchPlaces, - loaders - }); -} -var get_prettier_config_explorer_default = getExplorer; - -// src/config/resolve-config.js -var getPrettierConfigExplorer = mem(get_prettier_config_explorer_default, { - cacheKey: ([options8]) => options8.cache +// src/main/option-categories.js +var option_categories_exports = {}; +__export(option_categories_exports, { + CATEGORY_CONFIG: () => CATEGORY_CONFIG, + CATEGORY_EDITOR: () => CATEGORY_EDITOR, + CATEGORY_FORMAT: () => CATEGORY_FORMAT, + CATEGORY_GLOBAL: () => CATEGORY_GLOBAL, + CATEGORY_OTHER: () => CATEGORY_OTHER, + CATEGORY_OUTPUT: () => CATEGORY_OUTPUT, + CATEGORY_SPECIAL: () => CATEGORY_SPECIAL }); -var memoizedLoadEditorConfig = mem(resolve_editorconfig_default); -function clearCache() { - memClear(getPrettierConfigExplorer); - memClear(memoizedLoadEditorConfig); -} -function loadEditorConfig2(filePath, options8) { - if (!filePath || !options8.editorconfig) { - return; - } - return (options8.useCache ? memoizedLoadEditorConfig : resolve_editorconfig_default)(filePath); -} -function loadPrettierConfig(filePath, options8) { - const { useCache, config: configPath } = options8; - const { load, search } = getPrettierConfigExplorer({ - cache: Boolean(useCache) - }); - return configPath ? load(configPath) : search(filePath); -} -async function resolveConfig(filePath, options8) { - options8 = { useCache: true, ...options8 }; - const [result, editorConfigured] = await Promise.all([ - loadPrettierConfig(filePath, options8), - loadEditorConfig2(filePath, options8) - ]); - if (!result && !editorConfigured) { - return null; - } - const merged = { - ...editorConfigured, - ...mergeOverrides(result, filePath) - }; - if (Array.isArray(merged.plugins)) { - merged.plugins = merged.plugins.map( - (value) => typeof value === "string" && value.startsWith(".") ? path5.resolve(path5.dirname(result.filepath), value) : value - ); - } - return merged; -} -async function resolveConfigFile(filePath) { - const { search } = getPrettierConfigExplorer({ cache: false }); - const result = await search(filePath); - return result ? result.filepath : null; -} -function mergeOverrides(configResult, filePath) { - const { config, filepath: configPath } = configResult || {}; - const { overrides, ...options8 } = config || {}; - if (filePath && overrides) { - const relativeFilePath = path5.relative(path5.dirname(configPath), filePath); - for (const override of overrides) { - if (pathMatchesGlobs( - relativeFilePath, - override.files, - override.excludeFiles - )) { - Object.assign(options8, override.options); - } - } - } - return options8; -} -function pathMatchesGlobs(filePath, patterns, excludedPatterns) { - const patternList = Array.isArray(patterns) ? patterns : [patterns]; - const [withSlashes, withoutSlashes] = partition_default( - patternList, - (pattern) => pattern.includes("/") - ); - return import_micromatch.default.isMatch(filePath, withoutSlashes, { - ignore: excludedPatterns, - basename: true, - dot: true - }) || import_micromatch.default.isMatch(filePath, withSlashes, { - ignore: excludedPatterns, - basename: false, - dot: true - }); -} +var CATEGORY_CONFIG = "Config"; +var CATEGORY_EDITOR = "Editor"; +var CATEGORY_FORMAT = "Format"; +var CATEGORY_OTHER = "Other"; +var CATEGORY_OUTPUT = "Output"; +var CATEGORY_GLOBAL = "Global"; +var CATEGORY_SPECIAL = "Special"; -// src/utils/ignore.js -var import_ignore = __toESM(require_ignore(), 1); -import path6 from "path"; - -// src/utils/read-file.js -import fs4 from "fs/promises"; -async function readFile(filename) { - try { - return await fs4.readFile(filename, "utf8"); - } catch (error) { - if (error.code === "ENOENT") { - return; - } - throw new Error(`Unable to read '${filename}': ${error.message}`); - } -} -var read_file_default = readFile; - -// src/utils/ignore.js -var createIgnore = import_ignore.default.default; -var slash = path6.sep === "\\" ? (filepath) => string_replace_all_default( - /* isOptionalObject*/ - false, - filepath, - "\\", - "/" -) : (filepath) => filepath; -async function createSingleIsIgnoredFunction(ignoreFilePath, withNodeModules) { - let content = ""; - if (ignoreFilePath) { - content += await read_file_default(ignoreFilePath) ?? ""; - } - if (!withNodeModules) { - content += "\nnode_modules"; - } - if (!content) { - return; - } - const ignore = createIgnore({ - allowRelativePaths: true - }).add(content); - return (filepath) => { - filepath = path6.resolve(filepath); - const relativePath = ignoreFilePath ? path6.relative(path6.dirname(ignoreFilePath), filepath) : path6.relative(process.cwd(), filepath); - return ignore.ignores(slash(relativePath)); - }; -} -async function createIsIgnoredFunction(ignoreFilePaths, withNodeModules) { - if (ignoreFilePaths.length === 0 && !withNodeModules) { - ignoreFilePaths = [void 0]; - } - const isIgnoredFunctions = (await Promise.all(ignoreFilePaths.map((ignoreFilePath) => createSingleIsIgnoredFunction(ignoreFilePath, withNodeModules)))).filter(Boolean); - return (filepath) => isIgnoredFunctions.some((isIgnored2) => isIgnored2(filepath)); -} -async function isIgnored(filepath, options8) { - const { - ignorePath, - withNodeModules - } = options8; - const isIgnored2 = await createIsIgnoredFunction(ignorePath, withNodeModules); - return isIgnored2(filepath); -} - -// src/common/get-file-info.js -async function getFileInfo(filePath, options8) { - if (typeof filePath !== "string") { - throw new TypeError( - `expect \`filePath\` to be a string, got \`${typeof filePath}\`` - ); - } - let { ignorePath, withNodeModules } = options8; - if (!Array.isArray(ignorePath)) { - ignorePath = [ignorePath]; - } - const ignored = await isIgnored(filePath, { ignorePath, withNodeModules }); - let inferredParser; - if (!ignored) { - inferredParser = await getParser(filePath, options8); - } - return { - ignored, - inferredParser: inferredParser ?? null - }; -} -async function getParser(filePath, options8) { - let config; - if (options8.resolveConfig !== false) { - config = await resolveConfig(filePath); - } - return (config == null ? void 0 : config.parser) ?? infer_parser_default(options8, { physicalFile: filePath }); -} -var get_file_info_default = getFileInfo; - -// src/main/plugins/load-plugin.js -import { pathToFileURL as pathToFileURL3 } from "url"; -import path8 from "path"; - -// src/utils/import-from-directory.js -import path7 from "path"; -function importFromDirectory(specifier, directory) { - return import_from_file_default(specifier, path7.join(directory, "noop.js")); -} -var import_from_directory_default = importFromDirectory; - -// src/main/plugins/load-plugin.js -function normalizePlugin(pluginInstanceOfPluginModule, name) { - const plugin = pluginInstanceOfPluginModule.default ?? pluginInstanceOfPluginModule; - return { name, ...plugin }; -} -var loadPluginFromDirectory = mem( - async (name, directory) => normalizePlugin(await import_from_directory_default(name, directory), name), - { cacheKey: JSON.stringify } -); -var importPlugin = mem(async (name) => { - try { - return await import(pathToFileURL3(path8.resolve(name)).href); - } catch { - return import_from_directory_default(name, process.cwd()); - } -}); -async function loadPlugin(plugin) { - if (typeof plugin === "string") { - return normalizePlugin(await importPlugin(plugin), plugin); - } - return plugin; -} -function clearCache2() { - memClear(loadPluginFromDirectory); - memClear(importPlugin); -} - // src/plugins/builtin-plugins-proxy.js var builtin_plugins_proxy_exports = {}; __export(builtin_plugins_proxy_exports, { languages: () => languages, options: () => options7, parsers: () => parsers, printers: () => printers }); -// src/common/common-options.evaluate.js -var common_options_evaluate_default = { - "bracketSpacing": { - "category": "Common", - "type": "boolean", - "default": true, - "description": "Print spaces between brackets.", - "oppositeDescription": "Do not print spaces between brackets." - }, - "singleQuote": { - "category": "Common", - "type": "boolean", - "default": false, - "description": "Use single quotes instead of double quotes." - }, - "proseWrap": { - "category": "Common", - "type": "choice", - "default": "preserve", - "description": "How to wrap prose.", - "choices": [ - { - "value": "always", - "description": "Wrap prose if it exceeds the print width." - }, - { - "value": "never", - "description": "Do not wrap prose." - }, - { - "value": "preserve", - "description": "Wrap prose as-is." - } - ] - }, - "bracketSameLine": { - "category": "Common", - "type": "boolean", - "default": false, - "description": "Put > of opening tags on the last line instead of on a new line." - }, - "singleAttributePerLine": { - "category": "Common", - "type": "boolean", - "default": false, - "description": "Enforce single attribute per line in HTML, Vue and JSX." - } -}; - -// src/language-css/options.js -var options = { - singleQuote: common_options_evaluate_default.singleQuote -}; -var options_default = options; - // src/language-css/languages.evaluate.js var languages_evaluate_default = [ { "linguistLanguageId": 50, "name": "CSS", @@ -20355,16 +22965,65 @@ "scss" ] } ]; -// src/language-graphql/options.js -var options2 = { - bracketSpacing: common_options_evaluate_default.bracketSpacing +// src/common/common-options.evaluate.js +var common_options_evaluate_default = { + "bracketSpacing": { + "category": "Common", + "type": "boolean", + "default": true, + "description": "Print spaces between brackets.", + "oppositeDescription": "Do not print spaces between brackets." + }, + "singleQuote": { + "category": "Common", + "type": "boolean", + "default": false, + "description": "Use single quotes instead of double quotes." + }, + "proseWrap": { + "category": "Common", + "type": "choice", + "default": "preserve", + "description": "How to wrap prose.", + "choices": [ + { + "value": "always", + "description": "Wrap prose if it exceeds the print width." + }, + { + "value": "never", + "description": "Do not wrap prose." + }, + { + "value": "preserve", + "description": "Wrap prose as-is." + } + ] + }, + "bracketSameLine": { + "category": "Common", + "type": "boolean", + "default": false, + "description": "Put > of opening tags on the last line instead of on a new line." + }, + "singleAttributePerLine": { + "category": "Common", + "type": "boolean", + "default": false, + "description": "Enforce single attribute per line in HTML, Vue and JSX." + } }; -var options_default2 = options2; +// src/language-css/options.js +var options = { + singleQuote: common_options_evaluate_default.singleQuote +}; +var options_default = options; + // src/language-graphql/languages.evaluate.js var languages_evaluate_default2 = [ { "linguistLanguageId": 139, "name": "GraphQL", @@ -20384,10 +23043,16 @@ "graphql" ] } ]; +// src/language-graphql/options.js +var options2 = { + bracketSpacing: common_options_evaluate_default.bracketSpacing +}; +var options_default2 = options2; + // src/language-handlebars/languages.evaluate.js var languages_evaluate_default3 = [ { "linguistLanguageId": 155, "name": "Handlebars", @@ -20410,44 +23075,10 @@ "handlebars" ] } ]; -// src/language-html/options.js -var CATEGORY_HTML = "HTML"; -var options3 = { - bracketSameLine: common_options_evaluate_default.bracketSameLine, - htmlWhitespaceSensitivity: { - category: CATEGORY_HTML, - type: "choice", - default: "css", - description: "How to handle whitespaces in HTML.", - choices: [ - { - value: "css", - description: "Respect the default value of CSS display property." - }, - { - value: "strict", - description: "Whitespaces are considered sensitive." - }, - { - value: "ignore", - description: "Whitespaces are considered insensitive." - } - ] - }, - singleAttributePerLine: common_options_evaluate_default.singleAttributePerLine, - vueIndentScriptAndStyle: { - category: CATEGORY_HTML, - type: "boolean", - default: false, - description: "Indent script and style tags in Vue files." - } -}; -var options_default3 = options3; - // src/language-html/languages.evaluate.js var languages_evaluate_default4 = [ { "linguistLanguageId": 146, "name": "Angular", @@ -20538,91 +23169,43 @@ "vue" ] } ]; -// src/language-js/options.js -var CATEGORY_JAVASCRIPT = "JavaScript"; -var options4 = { - arrowParens: { - category: CATEGORY_JAVASCRIPT, - type: "choice", - default: "always", - description: "Include parentheses around a sole arrow function parameter.", - choices: [ - { - value: "always", - description: "Always include parens. Example: `(x) => x`" - }, - { - value: "avoid", - description: "Omit parens when possible. Example: `x => x`" - } - ] - }, +// src/language-html/options.js +var CATEGORY_HTML = "HTML"; +var options3 = { bracketSameLine: common_options_evaluate_default.bracketSameLine, - bracketSpacing: common_options_evaluate_default.bracketSpacing, - jsxBracketSameLine: { - category: CATEGORY_JAVASCRIPT, - type: "boolean", - description: "Put > on the last line instead of at a new line.", - deprecated: "2.4.0" - }, - semi: { - category: CATEGORY_JAVASCRIPT, - type: "boolean", - default: true, - description: "Print semicolons.", - oppositeDescription: "Do not print semicolons, except at the beginning of lines which may need them." - }, - singleQuote: common_options_evaluate_default.singleQuote, - jsxSingleQuote: { - category: CATEGORY_JAVASCRIPT, - type: "boolean", - default: false, - description: "Use single quotes in JSX." - }, - quoteProps: { - category: CATEGORY_JAVASCRIPT, + htmlWhitespaceSensitivity: { + category: CATEGORY_HTML, type: "choice", - default: "as-needed", - description: "Change when properties in objects are quoted.", + default: "css", + description: "How to handle whitespaces in HTML.", choices: [ { - value: "as-needed", - description: "Only add quotes around object properties where required." + value: "css", + description: "Respect the default value of CSS display property." }, { - value: "consistent", - description: "If at least one property in an object requires quotes, quote all properties." + value: "strict", + description: "Whitespaces are considered sensitive." }, { - value: "preserve", - description: "Respect the input use of quotes in object properties." + value: "ignore", + description: "Whitespaces are considered insensitive." } ] }, - trailingComma: { - category: CATEGORY_JAVASCRIPT, - type: "choice", - default: "all", - description: "Print trailing commas wherever possible when multi-line.", - choices: [ - { - value: "all", - description: "Trailing commas wherever possible (including function arguments)." - }, - { - value: "es5", - description: "Trailing commas where valid in ES5 (objects, arrays, etc.)" - }, - { value: "none", description: "No trailing commas." } - ] - }, - singleAttributePerLine: common_options_evaluate_default.singleAttributePerLine + singleAttributePerLine: common_options_evaluate_default.singleAttributePerLine, + vueIndentScriptAndStyle: { + category: CATEGORY_HTML, + type: "boolean", + default: false, + description: "Indent script and style tags in Vue files." + } }; -var options_default4 = options4; +var options_default3 = options3; // src/language-js/languages.evaluate.js var languages_evaluate_default5 = [ { "linguistLanguageId": 183, @@ -20808,10 +23391,99 @@ "typescriptreact" ] } ]; +// src/language-js/options.js +var CATEGORY_JAVASCRIPT = "JavaScript"; +var options4 = { + arrowParens: { + category: CATEGORY_JAVASCRIPT, + type: "choice", + default: "always", + description: "Include parentheses around a sole arrow function parameter.", + choices: [ + { + value: "always", + description: "Always include parens. Example: `(x) => x`" + }, + { + value: "avoid", + description: "Omit parens when possible. Example: `x => x`" + } + ] + }, + bracketSameLine: common_options_evaluate_default.bracketSameLine, + bracketSpacing: common_options_evaluate_default.bracketSpacing, + jsxBracketSameLine: { + category: CATEGORY_JAVASCRIPT, + type: "boolean", + description: "Put > on the last line instead of at a new line.", + deprecated: "2.4.0" + }, + semi: { + category: CATEGORY_JAVASCRIPT, + type: "boolean", + default: true, + description: "Print semicolons.", + oppositeDescription: "Do not print semicolons, except at the beginning of lines which may need them." + }, + experimentalTernaries: { + category: CATEGORY_JAVASCRIPT, + type: "boolean", + default: false, + description: "Use curious ternaries, with the question mark after the condition.", + oppositeDescription: "Default behavior of ternaries; keep question marks on the same line as the consequent." + }, + singleQuote: common_options_evaluate_default.singleQuote, + jsxSingleQuote: { + category: CATEGORY_JAVASCRIPT, + type: "boolean", + default: false, + description: "Use single quotes in JSX." + }, + quoteProps: { + category: CATEGORY_JAVASCRIPT, + type: "choice", + default: "as-needed", + description: "Change when properties in objects are quoted.", + choices: [ + { + value: "as-needed", + description: "Only add quotes around object properties where required." + }, + { + value: "consistent", + description: "If at least one property in an object requires quotes, quote all properties." + }, + { + value: "preserve", + description: "Respect the input use of quotes in object properties." + } + ] + }, + trailingComma: { + category: CATEGORY_JAVASCRIPT, + type: "choice", + default: "all", + description: "Print trailing commas wherever possible when multi-line.", + choices: [ + { + value: "all", + description: "Trailing commas wherever possible (including function arguments)." + }, + { + value: "es5", + description: "Trailing commas where valid in ES5 (objects, arrays, etc.)" + }, + { value: "none", description: "No trailing commas." } + ] + }, + singleAttributePerLine: common_options_evaluate_default.singleAttributePerLine +}; +var options_default4 = options4; + // src/language-json/languages.evaluate.js var languages_evaluate_default6 = [ { "linguistLanguageId": 174, "name": "JSON.stringify", @@ -20911,10 +23583,11 @@ "jsonc" ], "extensions": [ ".jsonc", ".code-snippets", + ".code-workspace", ".sublime-build", ".sublime-commands", ".sublime-completions", ".sublime-keymap", ".sublime-macro", @@ -20938,15 +23611,14 @@ "api-extractor.json", "devcontainer.json", "jsconfig.json", "language-configuration.json", "tsconfig.json", - "tslint.json", - ".eslintrc" + "tslint.json" ], "parsers": [ - "json" + "jsonc" ], "vscodeLanguageIds": [ "jsonc" ] }, @@ -20969,17 +23641,10 @@ "json5" ] } ]; -// src/language-markdown/options.js -var options5 = { - proseWrap: common_options_evaluate_default.proseWrap, - singleQuote: common_options_evaluate_default.singleQuote -}; -var options_default5 = options5; - // src/language-markdown/languages.evaluate.js var languages_evaluate_default7 = [ { "linguistLanguageId": 222, "name": "Markdown", @@ -21043,17 +23708,16 @@ "mdx" ] } ]; -// src/language-yaml/options.js -var options6 = { - bracketSpacing: common_options_evaluate_default.bracketSpacing, - singleQuote: common_options_evaluate_default.singleQuote, - proseWrap: common_options_evaluate_default.proseWrap +// src/language-markdown/options.js +var options5 = { + proseWrap: common_options_evaluate_default.proseWrap, + singleQuote: common_options_evaluate_default.singleQuote }; -var options_default6 = options6; +var options_default5 = options5; // src/language-yaml/languages.evaluate.js var languages_evaluate_default8 = [ { "linguistLanguageId": 407, @@ -21098,10 +23762,18 @@ "home-assistant" ] } ]; +// src/language-yaml/options.js +var options6 = { + bracketSpacing: common_options_evaluate_default.bracketSpacing, + singleQuote: common_options_evaluate_default.singleQuote, + proseWrap: common_options_evaluate_default.proseWrap +}; +var options_default6 = options6; + // src/plugins/builtin-plugins-proxy.js function createParsersAndPrinters(modules) { const parsers2 = /* @__PURE__ */ Object.create(null); const printers2 = /* @__PURE__ */ Object.create(null); for (const { @@ -21169,10 +23841,11 @@ "__vue_event_binding", "__vue_ts_event_binding", "__babel_estree", "json", "json5", + "jsonc", "json-stringify" ] }, { importPlugin: () => import("./plugins/estree.mjs"), @@ -21226,44 +23899,73 @@ function loadBuiltinPlugins() { return [builtin_plugins_proxy_exports]; } var load_builtin_plugins_default = loadBuiltinPlugins; +// src/main/plugins/load-plugin.js +import path12 from "path"; +import { pathToFileURL as pathToFileURL5 } from "url"; + +// src/utils/import-from-directory.js +import path11 from "path"; +function importFromDirectory(specifier, directory) { + return import_from_file_default(specifier, path11.join(directory, "noop.js")); +} +var import_from_directory_default = importFromDirectory; + +// src/main/plugins/load-plugin.js +async function importPlugin(name, cwd) { + if (path12.isAbsolute(name)) { + return import(pathToFileURL5(name).href); + } + try { + return await import(pathToFileURL5(path12.resolve(name)).href); + } catch { + return import_from_directory_default(name, cwd); + } +} +async function loadPluginWithoutCache(plugin, cwd) { + const module = await importPlugin(plugin, cwd); + return { name: plugin, ...module.default ?? module }; +} +var cache2 = /* @__PURE__ */ new Map(); +function loadPlugin(plugin) { + if (typeof plugin !== "string") { + return plugin; + } + const cwd = process.cwd(); + const cacheKey = JSON.stringify({ name: plugin, cwd }); + if (!cache2.has(cacheKey)) { + cache2.set(cacheKey, loadPluginWithoutCache(plugin, cwd)); + } + return cache2.get(cacheKey); +} +function clearCache2() { + cache2.clear(); +} + // src/main/plugins/load-plugins.js function loadPlugins(plugins = []) { return Promise.all(plugins.map((plugin) => loadPlugin(plugin))); } var load_plugins_default = loadPlugins; -// src/main/option-categories.js -var option_categories_exports = {}; -__export(option_categories_exports, { - CATEGORY_CONFIG: () => CATEGORY_CONFIG, - CATEGORY_EDITOR: () => CATEGORY_EDITOR, - CATEGORY_FORMAT: () => CATEGORY_FORMAT, - CATEGORY_GLOBAL: () => CATEGORY_GLOBAL, - CATEGORY_OTHER: () => CATEGORY_OTHER, - CATEGORY_OUTPUT: () => CATEGORY_OUTPUT, - CATEGORY_SPECIAL: () => CATEGORY_SPECIAL -}); -var CATEGORY_CONFIG = "Config"; -var CATEGORY_EDITOR = "Editor"; -var CATEGORY_FORMAT = "Format"; -var CATEGORY_OTHER = "Other"; -var CATEGORY_OUTPUT = "Output"; -var CATEGORY_GLOBAL = "Global"; -var CATEGORY_SPECIAL = "Special"; - // src/utils/object-omit.js function omit(object, keys) { keys = new Set(keys); return Object.fromEntries( - Object.entries(object).filter(([key]) => !keys.has(key)) + Object.entries(object).filter(([key2]) => !keys.has(key2)) ); } var object_omit_default = omit; +// src/index.js +import * as doc from "./doc.mjs"; + +// src/main/version.evaluate.cjs +var version_evaluate_default = "3.2.2"; + // src/utils/public.js var public_exports = {}; __export(public_exports, { addDanglingComment: () => addDanglingComment, addLeadingComment: () => addLeadingComment, @@ -21348,10 +24050,24 @@ idx = skip_newline_default(text, idx); return idx !== false && has_newline_default(text, idx); } var is_next_line_empty_default = isNextLineEmpty; +// src/utils/get-indent-size.js +function getIndentSize(value, tabWidth) { + const lastNewlineIndex = value.lastIndexOf("\n"); + if (lastNewlineIndex === -1) { + return 0; + } + return get_alignment_size_default( + // All the leading whitespaces + value.slice(lastNewlineIndex + 1).match(/^[\t ]*/)[0], + tabWidth + ); +} +var get_indent_size_default = getIndentSize; + // node_modules/escape-string-regexp/index.js function escapeStringRegexp(string) { if (typeof string !== "string") { throw new TypeError("Expected a string"); } @@ -21371,23 +24087,16 @@ 0 ); } var get_max_continuous_count_default = getMaxContinuousCount; -// src/utils/get-indent-size.js -function getIndentSize(value, tabWidth) { - const lastNewlineIndex = value.lastIndexOf("\n"); - if (lastNewlineIndex === -1) { - return 0; - } - return get_alignment_size_default( - // All the leading whitespaces - value.slice(lastNewlineIndex + 1).match(/^[\t ]*/)[0], - tabWidth - ); +// src/utils/get-next-non-space-non-comment-character.js +function getNextNonSpaceNonCommentCharacter(text, startIndex) { + const index = get_next_non_space_non_comment_character_index_default(text, startIndex); + return index === false ? "" : text.charAt(index); } -var get_indent_size_default = getIndentSize; +var get_next_non_space_non_comment_character_default = getNextNonSpaceNonCommentCharacter; // src/utils/has-newline-in-range.js function hasNewlineInRange(text, startIndex, endIndex) { for (let i = startIndex; i < endIndex; ++i) { if (text.charAt(i) === "\n") { @@ -21407,17 +24116,10 @@ ); return idx !== startIndex; } var has_spaces_default = hasSpaces; -// src/utils/get-next-non-space-non-comment-character.js -function getNextNonSpaceNonCommentCharacter(text, startIndex) { - const index = get_next_non_space_non_comment_character_index_default(text, startIndex); - return index === false ? "" : text.charAt(index); -} -var get_next_non_space_non_comment_character_default = getNextNonSpaceNonCommentCharacter; - // src/utils/make-string.js function makeString(rawText, enclosingQuote, unescapeUnnecessaryEscapes) { const otherQuote = enclosingQuote === '"' ? "'" : '"'; const regex = /\\(.)|(["'])/gs; const raw = string_replace_all_default( @@ -21476,16 +24178,10 @@ legacyIsNextLineEmpty(...arguments) ); } // src/index.js -import * as doc from "./doc.mjs"; - -// src/main/version.evaluate.cjs -var version_evaluate_default = "3.0.3"; - -// src/index.js function withPlugins(fn, optionsArgumentIndex = 1) { return async (...args) => { const options8 = args[optionsArgumentIndex] ?? {}; const { plugins = [] } = options8; args[optionsArgumentIndex] = { @@ -21531,17 +24227,19 @@ fastGlob: import_fast_glob.default, utils: { isNonEmptyArray: is_non_empty_array_default, partition: partition_default, omit: object_omit_default - } + }, + mockable: mockable_default }; var debugApis = { - parse: withPlugins(parse2), + parse: withPlugins(parse5), formatAST: withPlugins(formatAst), formatDoc: withPlugins(formatDoc), printToDoc: withPlugins(printToDoc), - printDocToString: withPlugins(printDocToString2) + printDocToString: withPlugins(printDocToString2), + mockable: mockable_default }; // with-default-export:src/index.js var src_default = src_exports; export {