diff --git a/.eslintrc.json b/.eslintrc.json
index d147a552..2813bbb2 100644
--- a/.eslintrc.json
+++ b/.eslintrc.json
@@ -1,5 +1,8 @@
{
- "extends": "standard",
+ "extends": ["standard", "plugin:@typescript-eslint/recommended"],
+ "parser": "@typescript-eslint/parser",
+ "plugins": ["@typescript-eslint"],
+ "root": true,
"rules": {
"semi": ["error", "always"],
"indent": ["error", 2, {
@@ -15,9 +18,14 @@
"no-control-regex": "off",
"no-prototype-builtins": "off",
"no-extra-semi": "error",
-
"prefer-const": "error",
- "no-var": "error"
+ "no-var": "error",
+ "@typescript-eslint/ban-ts-comment": "off",
+ "@typescript-eslint/no-explicit-any": "off",
+ "@typescript-eslint/no-non-null-assertion": "off",
+ "@typescript-eslint/no-empty-function": "off",
+ "@typescript-eslint/no-namespace": "off",
+ "@typescript-eslint/no-unused-vars": ["error", { "args": "none" }]
},
"env": {
"node": true
diff --git a/README.md b/README.md
index 59017f68..87961a0c 100644
--- a/README.md
+++ b/README.md
@@ -47,7 +47,6 @@ npm install -g marked
```sh
npm install marked
-npm install @types/marked # For TypeScript projects
```
## Usage
diff --git a/bin/marked.js b/bin/marked.js
old mode 100644
new mode 100755
diff --git a/lib/marked.cjs b/lib/marked.cjs
index 4d69640c..05fbebec 100644
--- a/lib/marked.cjs
+++ b/lib/marked.cjs
@@ -9,96 +9,65 @@
* The code in this file is generated from files in ./src/
*/
-'use strict';
+"use strict";
+var __defProp = Object.defineProperty;
+var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
+var __getOwnPropNames = Object.getOwnPropertyNames;
+var __hasOwnProp = Object.prototype.hasOwnProperty;
+var __export = (target, all) => {
+ 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 });
+ }
+ return to;
+};
+var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
+var __accessCheck = (obj, member, msg) => {
+ if (!member.has(obj))
+ throw TypeError("Cannot " + msg);
+};
+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 __privateMethod = (obj, member, method) => {
+ __accessCheck(obj, member, "access private method");
+ return method;
+};
-function _defineProperties(target, props) {
- for (var i = 0; i < props.length; i++) {
- var descriptor = props[i];
- descriptor.enumerable = descriptor.enumerable || false;
- descriptor.configurable = true;
- if ("value" in descriptor) descriptor.writable = true;
- Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor);
- }
-}
-function _createClass(Constructor, protoProps, staticProps) {
- if (protoProps) _defineProperties(Constructor.prototype, protoProps);
- if (staticProps) _defineProperties(Constructor, staticProps);
- Object.defineProperty(Constructor, "prototype", {
- writable: false
- });
- return Constructor;
-}
-function _extends() {
- _extends = Object.assign ? Object.assign.bind() : function (target) {
- for (var i = 1; i < arguments.length; i++) {
- var source = arguments[i];
- for (var key in source) {
- if (Object.prototype.hasOwnProperty.call(source, key)) {
- target[key] = source[key];
- }
- }
- }
- return target;
- };
- return _extends.apply(this, arguments);
-}
-function _unsupportedIterableToArray(o, minLen) {
- if (!o) return;
- if (typeof o === "string") return _arrayLikeToArray(o, minLen);
- var n = Object.prototype.toString.call(o).slice(8, -1);
- if (n === "Object" && o.constructor) n = o.constructor.name;
- if (n === "Map" || n === "Set") return Array.from(o);
- if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);
-}
-function _arrayLikeToArray(arr, len) {
- if (len == null || len > arr.length) len = arr.length;
- for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];
- return arr2;
-}
-function _createForOfIteratorHelperLoose(o, allowArrayLike) {
- var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"];
- if (it) return (it = it.call(o)).next.bind(it);
- if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") {
- if (it) o = it;
- var i = 0;
- return function () {
- if (i >= o.length) return {
- done: true
- };
- return {
- done: false,
- value: o[i++]
- };
- };
- }
- throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
-}
-function _toPrimitive(input, hint) {
- if (typeof input !== "object" || input === null) return input;
- var prim = input[Symbol.toPrimitive];
- if (prim !== undefined) {
- var res = prim.call(input, hint || "default");
- if (typeof res !== "object") return res;
- throw new TypeError("@@toPrimitive must return a primitive value.");
- }
- return (hint === "string" ? String : Number)(input);
-}
-function _toPropertyKey(arg) {
- var key = _toPrimitive(arg, "string");
- return typeof key === "symbol" ? key : String(key);
-}
-var id = 0;
-function _classPrivateFieldLooseKey(name) {
- return "__private_" + id++ + "_" + name;
-}
-function _classPrivateFieldLooseBase(receiver, privateKey) {
- if (!Object.prototype.hasOwnProperty.call(receiver, privateKey)) {
- throw new TypeError("attempted to use private field on non-instance");
- }
- return receiver;
-}
+// src/marked.ts
+var marked_exports = {};
+__export(marked_exports, {
+ Hooks: () => _Hooks,
+ Lexer: () => _Lexer,
+ Marked: () => Marked,
+ Parser: () => _Parser,
+ Renderer: () => _Renderer,
+ Slugger: () => _Slugger,
+ TextRenderer: () => _TextRenderer,
+ Tokenizer: () => _Tokenizer,
+ defaults: () => _defaults,
+ getDefaults: () => _getDefaults,
+ lexer: () => lexer,
+ marked: () => marked,
+ options: () => options,
+ parse: () => parse,
+ parseInline: () => parseInline,
+ parser: () => parser,
+ setOptions: () => setOptions,
+ use: () => use,
+ walkTokens: () => walkTokens
+});
+module.exports = __toCommonJS(marked_exports);
-function getDefaults() {
+// src/defaults.ts
+function _getDefaults() {
return {
async: false,
baseUrl: null,
@@ -106,10 +75,10 @@ function getDefaults() {
extensions: null,
gfm: true,
headerIds: true,
- headerPrefix: '',
+ headerPrefix: "",
highlight: null,
hooks: null,
- langPrefix: 'language-',
+ langPrefix: "language-",
mangle: true,
pedantic: false,
renderer: null,
@@ -122,28 +91,24 @@ function getDefaults() {
xhtml: false
};
}
-exports.defaults = getDefaults();
+var _defaults = _getDefaults();
function changeDefaults(newDefaults) {
- exports.defaults = newDefaults;
+ _defaults = newDefaults;
}
-/**
- * Helpers
- */
+// src/helpers.ts
var escapeTest = /[&<>"']/;
-var escapeReplace = new RegExp(escapeTest.source, 'g');
+var escapeReplace = new RegExp(escapeTest.source, "g");
var escapeTestNoEncode = /[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/;
-var escapeReplaceNoEncode = new RegExp(escapeTestNoEncode.source, 'g');
+var escapeReplaceNoEncode = new RegExp(escapeTestNoEncode.source, "g");
var escapeReplacements = {
- '&': '&',
- '<': '<',
- '>': '>',
- '"': '"',
- "'": '''
-};
-var getEscapeReplacement = function getEscapeReplacement(ch) {
- return escapeReplacements[ch];
+ "&": "&",
+ "<": "<",
+ ">": ">",
+ '"': """,
+ "'": "'"
};
+var getEscapeReplacement = (ch) => escapeReplacements[ch];
function escape(html, encode) {
if (encode) {
if (escapeTest.test(html)) {
@@ -157,38 +122,29 @@ function escape(html, encode) {
return html;
}
var unescapeTest = /&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/ig;
-
-/**
- * @param {string} html
- */
function unescape(html) {
- // explicitly match decimal, hex, and named HTML entities
- return html.replace(unescapeTest, function (_, n) {
+ return html.replace(unescapeTest, (_, n) => {
n = n.toLowerCase();
- if (n === 'colon') return ':';
- if (n.charAt(0) === '#') {
- return n.charAt(1) === 'x' ? String.fromCharCode(parseInt(n.substring(2), 16)) : String.fromCharCode(+n.substring(1));
+ if (n === "colon")
+ return ":";
+ if (n.charAt(0) === "#") {
+ return n.charAt(1) === "x" ? String.fromCharCode(parseInt(n.substring(2), 16)) : String.fromCharCode(+n.substring(1));
}
- return '';
+ return "";
});
}
var caret = /(^|[^\[])\^/g;
-
-/**
- * @param {string | RegExp} regex
- * @param {string} opt
- */
function edit(regex, opt) {
- regex = typeof regex === 'string' ? regex : regex.source;
- opt = opt || '';
- var obj = {
- replace: function replace(name, val) {
- val = val.source || val;
- val = val.replace(caret, '$1');
+ regex = typeof regex === "string" ? regex : regex.source;
+ opt = opt || "";
+ const obj = {
+ replace: (name, val) => {
+ val = typeof val === "object" && "source" in val ? val.source : val;
+ val = val.replace(caret, "$1");
regex = regex.replace(name, val);
return obj;
},
- getRegex: function getRegex() {
+ getRegex: () => {
return new RegExp(regex, opt);
}
};
@@ -196,21 +152,15 @@ function edit(regex, opt) {
}
var nonWordAndColonTest = /[^\w:]/g;
var originIndependentUrl = /^$|^[a-z][a-z0-9+.-]*:|^[?#]/i;
-
-/**
- * @param {boolean} sanitize
- * @param {string} base
- * @param {string} href
- */
function cleanUrl(sanitize, base, href) {
if (sanitize) {
- var prot;
+ let prot;
try {
- prot = decodeURIComponent(unescape(href)).replace(nonWordAndColonTest, '').toLowerCase();
+ prot = decodeURIComponent(unescape(href)).replace(nonWordAndColonTest, "").toLowerCase();
} catch (e) {
return null;
}
- if (prot.indexOf('javascript:') === 0 || prot.indexOf('vbscript:') === 0 || prot.indexOf('data:') === 0) {
+ if (prot.indexOf("javascript:") === 0 || prot.indexOf("vbscript:") === 0 || prot.indexOf("data:") === 0) {
return null;
}
}
@@ -218,7 +168,7 @@ function cleanUrl(sanitize, base, href) {
href = resolveUrl(base, href);
}
try {
- href = encodeURI(href).replace(/%25/g, '%');
+ href = encodeURI(href).replace(/%25/g, "%");
} catch (e) {
return null;
}
@@ -228,61 +178,43 @@ var baseUrls = {};
var justDomain = /^[^:]+:\/*[^/]*$/;
var protocol = /^([^:]+:)[\s\S]*$/;
var domain = /^([^:]+:\/*[^/]*)[\s\S]*$/;
-
-/**
- * @param {string} base
- * @param {string} href
- */
function resolveUrl(base, href) {
- if (!baseUrls[' ' + base]) {
- // we can ignore everything in base after the last slash of its path component,
- // but we might need to add _that_
- // https://tools.ietf.org/html/rfc3986#section-3
+ if (!baseUrls[" " + base]) {
if (justDomain.test(base)) {
- baseUrls[' ' + base] = base + '/';
+ baseUrls[" " + base] = base + "/";
} else {
- baseUrls[' ' + base] = rtrim(base, '/', true);
+ baseUrls[" " + base] = rtrim(base, "/", true);
}
}
- base = baseUrls[' ' + base];
- var relativeBase = base.indexOf(':') === -1;
- if (href.substring(0, 2) === '//') {
+ base = baseUrls[" " + base];
+ const relativeBase = base.indexOf(":") === -1;
+ if (href.substring(0, 2) === "//") {
if (relativeBase) {
return href;
}
- return base.replace(protocol, '$1') + href;
- } else if (href.charAt(0) === '/') {
+ return base.replace(protocol, "$1") + href;
+ } else if (href.charAt(0) === "/") {
if (relativeBase) {
return href;
}
- return base.replace(domain, '$1') + href;
+ return base.replace(domain, "$1") + href;
} else {
return base + href;
}
}
-var noopTest = {
- exec: function noopTest() {}
-};
+var noopTest = { exec: () => null };
function splitCells(tableRow, count) {
- // ensure that every cell-delimiting pipe has a space
- // before it to distinguish it from an escaped pipe
- var row = tableRow.replace(/\|/g, function (match, offset, str) {
- var escaped = false,
- curr = offset;
- while (--curr >= 0 && str[curr] === '\\') escaped = !escaped;
- if (escaped) {
- // odd number of slashes means | is escaped
- // so we leave it alone
- return '|';
- } else {
- // add space before unescaped |
- return ' |';
- }
- }),
- cells = row.split(/ \|/);
- var i = 0;
-
- // First/last cell in a row cannot be empty if it has no leading/trailing pipe
+ const row = tableRow.replace(/\|/g, (match, offset, str) => {
+ let escaped = false, curr = offset;
+ while (--curr >= 0 && str[curr] === "\\")
+ escaped = !escaped;
+ if (escaped) {
+ return "|";
+ } else {
+ return " |";
+ }
+ }), cells = row.split(/ \|/);
+ let i = 0;
if (!cells[0].trim()) {
cells.shift();
}
@@ -292,35 +224,22 @@ function splitCells(tableRow, count) {
if (cells.length > count) {
cells.splice(count);
} else {
- while (cells.length < count) cells.push('');
+ while (cells.length < count)
+ cells.push("");
}
for (; i < cells.length; i++) {
- // leading or trailing whitespace is ignored per the gfm spec
- cells[i] = cells[i].trim().replace(/\\\|/g, '|');
+ cells[i] = cells[i].trim().replace(/\\\|/g, "|");
}
return cells;
}
-
-/**
- * Remove trailing 'c's. Equivalent to str.replace(/c*$/, '').
- * /c*$/ is vulnerable to REDOS.
- *
- * @param {string} str
- * @param {string} c
- * @param {boolean} invert Remove suffix of non-c chars instead. Default falsey.
- */
function rtrim(str, c, invert) {
- var l = str.length;
+ const l = str.length;
if (l === 0) {
- return '';
+ return "";
}
-
- // Length of suffix matching the invert condition.
- var suffLen = 0;
-
- // Step left until we fail to match the invert condition.
+ let suffLen = 0;
while (suffLen < l) {
- var currChar = str.charAt(l - suffLen - 1);
+ const currChar = str.charAt(l - suffLen - 1);
if (currChar === c && !invert) {
suffLen++;
} else if (currChar !== c && invert) {
@@ -335,11 +254,10 @@ function findClosingBracket(str, b) {
if (str.indexOf(b[1]) === -1) {
return -1;
}
- var l = str.length;
- var level = 0,
- i = 0;
+ const l = str.length;
+ let level = 0, i = 0;
for (; i < l; i++) {
- if (str[i] === '\\') {
+ if (str[i] === "\\") {
i++;
} else if (str[i] === b[0]) {
level++;
@@ -357,267 +275,235 @@ function checkDeprecations(opt, callback) {
return;
}
if (callback) {
- console.warn('marked(): callback is deprecated since version 5.0.0, should not be used and will be removed in the future. Read more here: https://marked.js.org/using_pro#async');
+ console.warn("marked(): callback is deprecated since version 5.0.0, should not be used and will be removed in the future. Read more here: https://marked.js.org/using_pro#async");
}
if (opt.sanitize || opt.sanitizer) {
- console.warn('marked(): sanitize and sanitizer parameters are deprecated since version 0.7.0, should not be used and will be removed in the future. Read more here: https://marked.js.org/#/USING_ADVANCED.md#options');
+ console.warn("marked(): sanitize and sanitizer parameters are deprecated since version 0.7.0, should not be used and will be removed in the future. Read more here: https://marked.js.org/#/USING_ADVANCED.md#options");
}
- if (opt.highlight || opt.langPrefix !== 'language-') {
- console.warn('marked(): highlight and langPrefix parameters are deprecated since version 5.0.0, should not be used and will be removed in the future. Instead use https://www.npmjs.com/package/marked-highlight.');
+ if (opt.highlight || opt.langPrefix !== "language-") {
+ console.warn("marked(): highlight and langPrefix parameters are deprecated since version 5.0.0, should not be used and will be removed in the future. Instead use https://www.npmjs.com/package/marked-highlight.");
}
if (opt.mangle) {
- console.warn('marked(): mangle parameter is enabled by default, but is deprecated since version 5.0.0, and will be removed in the future. To clear this warning, install https://www.npmjs.com/package/marked-mangle, or disable by setting `{mangle: false}`.');
+ console.warn("marked(): mangle parameter is enabled by default, but is deprecated since version 5.0.0, and will be removed in the future. To clear this warning, install https://www.npmjs.com/package/marked-mangle, or disable by setting `{mangle: false}`.");
}
if (opt.baseUrl) {
- console.warn('marked(): baseUrl parameter is deprecated since version 5.0.0, should not be used and will be removed in the future. Instead use https://www.npmjs.com/package/marked-base-url.');
+ console.warn("marked(): baseUrl parameter is deprecated since version 5.0.0, should not be used and will be removed in the future. Instead use https://www.npmjs.com/package/marked-base-url.");
}
if (opt.smartypants) {
- console.warn('marked(): smartypants parameter is deprecated since version 5.0.0, should not be used and will be removed in the future. Instead use https://www.npmjs.com/package/marked-smartypants.');
+ console.warn("marked(): smartypants parameter is deprecated since version 5.0.0, should not be used and will be removed in the future. Instead use https://www.npmjs.com/package/marked-smartypants.");
}
if (opt.xhtml) {
- console.warn('marked(): xhtml parameter is deprecated since version 5.0.0, should not be used and will be removed in the future. Instead use https://www.npmjs.com/package/marked-xhtml.');
+ console.warn("marked(): xhtml parameter is deprecated since version 5.0.0, should not be used and will be removed in the future. Instead use https://www.npmjs.com/package/marked-xhtml.");
}
if (opt.headerIds || opt.headerPrefix) {
- console.warn('marked(): headerIds and headerPrefix parameters enabled by default, but are deprecated since version 5.0.0, and will be removed in the future. To clear this warning, install https://www.npmjs.com/package/marked-gfm-heading-id, or disable by setting `{headerIds: false}`.');
+ console.warn("marked(): headerIds and headerPrefix parameters enabled by default, but are deprecated since version 5.0.0, and will be removed in the future. To clear this warning, install https://www.npmjs.com/package/marked-gfm-heading-id, or disable by setting `{headerIds: false}`.");
}
}
-function outputLink(cap, link, raw, lexer) {
- var href = link.href;
- var title = link.title ? escape(link.title) : null;
- var text = cap[1].replace(/\\([\[\]])/g, '$1');
- if (cap[0].charAt(0) !== '!') {
- lexer.state.inLink = true;
- var token = {
- type: 'link',
- raw: raw,
- href: href,
- title: title,
- text: text,
- tokens: lexer.inlineTokens(text)
+// src/Tokenizer.ts
+function outputLink(cap, link, raw, lexer2) {
+ const href = link.href;
+ const title = link.title ? escape(link.title) : null;
+ const text = cap[1].replace(/\\([\[\]])/g, "$1");
+ if (cap[0].charAt(0) !== "!") {
+ lexer2.state.inLink = true;
+ const token = {
+ type: "link",
+ raw,
+ href,
+ title,
+ text,
+ tokens: lexer2.inlineTokens(text)
};
- lexer.state.inLink = false;
+ lexer2.state.inLink = false;
return token;
}
return {
- type: 'image',
- raw: raw,
- href: href,
- title: title,
+ type: "image",
+ raw,
+ href,
+ title,
text: escape(text)
};
}
function indentCodeCompensation(raw, text) {
- var matchIndentToCode = raw.match(/^(\s+)(?:```)/);
+ const matchIndentToCode = raw.match(/^(\s+)(?:```)/);
if (matchIndentToCode === null) {
return text;
}
- var indentToCode = matchIndentToCode[1];
- return text.split('\n').map(function (node) {
- var matchIndentInNode = node.match(/^\s+/);
+ const indentToCode = matchIndentToCode[1];
+ return text.split("\n").map((node) => {
+ const matchIndentInNode = node.match(/^\s+/);
if (matchIndentInNode === null) {
return node;
}
- var indentInNode = matchIndentInNode[0];
+ const [indentInNode] = matchIndentInNode;
if (indentInNode.length >= indentToCode.length) {
return node.slice(indentToCode.length);
}
return node;
- }).join('\n');
+ }).join("\n");
}
-
-/**
- * Tokenizer
- */
-var Tokenizer = /*#__PURE__*/function () {
- function Tokenizer(options) {
- this.options = options || exports.defaults;
+var _Tokenizer = class {
+ constructor(options2) {
+ this.options = options2 || _defaults;
}
- var _proto = Tokenizer.prototype;
- _proto.space = function space(src) {
- var cap = this.rules.block.newline.exec(src);
+ space(src) {
+ const cap = this.rules.block.newline.exec(src);
if (cap && cap[0].length > 0) {
return {
- type: 'space',
+ type: "space",
raw: cap[0]
};
}
- };
- _proto.code = function code(src) {
- var cap = this.rules.block.code.exec(src);
+ }
+ code(src) {
+ const cap = this.rules.block.code.exec(src);
if (cap) {
- var text = cap[0].replace(/^ {1,4}/gm, '');
+ const text = cap[0].replace(/^ {1,4}/gm, "");
return {
- type: 'code',
+ type: "code",
raw: cap[0],
- codeBlockStyle: 'indented',
- text: !this.options.pedantic ? rtrim(text, '\n') : text
+ codeBlockStyle: "indented",
+ text: !this.options.pedantic ? rtrim(text, "\n") : text
};
}
- };
- _proto.fences = function fences(src) {
- var cap = this.rules.block.fences.exec(src);
+ }
+ fences(src) {
+ const cap = this.rules.block.fences.exec(src);
if (cap) {
- var raw = cap[0];
- var text = indentCodeCompensation(raw, cap[3] || '');
+ const raw = cap[0];
+ const text = indentCodeCompensation(raw, cap[3] || "");
return {
- type: 'code',
- raw: raw,
- lang: cap[2] ? cap[2].trim().replace(this.rules.inline._escapes, '$1') : cap[2],
- text: text
+ type: "code",
+ raw,
+ lang: cap[2] ? cap[2].trim().replace(this.rules.inline._escapes, "$1") : cap[2],
+ text
};
}
- };
- _proto.heading = function heading(src) {
- var cap = this.rules.block.heading.exec(src);
+ }
+ heading(src) {
+ const cap = this.rules.block.heading.exec(src);
if (cap) {
- var text = cap[2].trim();
-
- // remove trailing #s
+ let text = cap[2].trim();
if (/#$/.test(text)) {
- var trimmed = rtrim(text, '#');
+ const trimmed = rtrim(text, "#");
if (this.options.pedantic) {
text = trimmed.trim();
} else if (!trimmed || / $/.test(trimmed)) {
- // CommonMark requires space before trailing #s
text = trimmed.trim();
}
}
return {
- type: 'heading',
+ type: "heading",
raw: cap[0],
depth: cap[1].length,
- text: text,
+ text,
tokens: this.lexer.inline(text)
};
}
- };
- _proto.hr = function hr(src) {
- var cap = this.rules.block.hr.exec(src);
+ }
+ hr(src) {
+ const cap = this.rules.block.hr.exec(src);
if (cap) {
return {
- type: 'hr',
+ type: "hr",
raw: cap[0]
};
}
- };
- _proto.blockquote = function blockquote(src) {
- var cap = this.rules.block.blockquote.exec(src);
+ }
+ blockquote(src) {
+ const cap = this.rules.block.blockquote.exec(src);
if (cap) {
- var text = cap[0].replace(/^ *>[ \t]?/gm, '');
- var top = this.lexer.state.top;
+ const text = cap[0].replace(/^ *>[ \t]?/gm, "");
+ const top = this.lexer.state.top;
this.lexer.state.top = true;
- var tokens = this.lexer.blockTokens(text);
+ const tokens = this.lexer.blockTokens(text);
this.lexer.state.top = top;
return {
- type: 'blockquote',
+ type: "blockquote",
raw: cap[0],
- tokens: tokens,
- text: text
+ tokens,
+ text
};
}
- };
- _proto.list = function list(src) {
- var cap = this.rules.block.list.exec(src);
+ }
+ list(src) {
+ let cap = this.rules.block.list.exec(src);
if (cap) {
- var raw, istask, ischecked, indent, i, blankLine, endsWithBlankLine, line, nextLine, rawLine, itemContents, endEarly;
- var bull = cap[1].trim();
- var isordered = bull.length > 1;
- var list = {
- type: 'list',
- raw: '',
+ let raw, istask, ischecked, indent, i, blankLine, endsWithBlankLine, line, nextLine, rawLine, itemContents, endEarly;
+ let bull = cap[1].trim();
+ const isordered = bull.length > 1;
+ const list = {
+ type: "list",
+ raw: "",
ordered: isordered,
- start: isordered ? +bull.slice(0, -1) : '',
+ start: isordered ? +bull.slice(0, -1) : "",
loose: false,
items: []
};
- bull = isordered ? "\\d{1,9}\\" + bull.slice(-1) : "\\" + bull;
+ bull = isordered ? `\\d{1,9}\\${bull.slice(-1)}` : `\\${bull}`;
if (this.options.pedantic) {
- bull = isordered ? bull : '[*+-]';
+ bull = isordered ? bull : "[*+-]";
}
-
- // Get next list item
- var itemRegex = new RegExp("^( {0,3}" + bull + ")((?:[\t ][^\\n]*)?(?:\\n|$))");
-
- // Check if current bullet point can start a new List Item
+ const itemRegex = new RegExp(`^( {0,3}${bull})((?:[ ][^\\n]*)?(?:\\n|$))`);
while (src) {
endEarly = false;
if (!(cap = itemRegex.exec(src))) {
break;
}
if (this.rules.block.hr.test(src)) {
- // End list if bullet was actually HR (possibly move into itemRegex?)
break;
}
raw = cap[0];
src = src.substring(raw.length);
- line = cap[2].split('\n', 1)[0].replace(/^\t+/, function (t) {
- return ' '.repeat(3 * t.length);
- });
- nextLine = src.split('\n', 1)[0];
+ line = cap[2].split("\n", 1)[0].replace(/^\t+/, (t) => " ".repeat(3 * t.length));
+ nextLine = src.split("\n", 1)[0];
if (this.options.pedantic) {
indent = 2;
itemContents = line.trimLeft();
} else {
- indent = cap[2].search(/[^ ]/); // Find first non-space char
- indent = indent > 4 ? 1 : indent; // Treat indented code blocks (> 4 spaces) as having only 1 indent
+ indent = cap[2].search(/[^ ]/);
+ indent = indent > 4 ? 1 : indent;
itemContents = line.slice(indent);
indent += cap[1].length;
}
blankLine = false;
if (!line && /^ *$/.test(nextLine)) {
- // Items begin with at most one blank line
- raw += nextLine + '\n';
+ raw += nextLine + "\n";
src = src.substring(nextLine.length + 1);
endEarly = true;
}
if (!endEarly) {
- var nextBulletRegex = new RegExp("^ {0," + Math.min(3, indent - 1) + "}(?:[*+-]|\\d{1,9}[.)])((?:[ \t][^\\n]*)?(?:\\n|$))");
- var hrRegex = new RegExp("^ {0," + Math.min(3, indent - 1) + "}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)");
- var fencesBeginRegex = new RegExp("^ {0," + Math.min(3, indent - 1) + "}(?:```|~~~)");
- var headingBeginRegex = new RegExp("^ {0," + Math.min(3, indent - 1) + "}#");
-
- // Check if following lines should be included in List Item
+ const nextBulletRegex = new RegExp(`^ {0,${Math.min(3, indent - 1)}}(?:[*+-]|\\d{1,9}[.)])((?:[ ][^\\n]*)?(?:\\n|$))`);
+ const hrRegex = new RegExp(`^ {0,${Math.min(3, indent - 1)}}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)`);
+ const fencesBeginRegex = new RegExp(`^ {0,${Math.min(3, indent - 1)}}(?:\`\`\`|~~~)`);
+ const headingBeginRegex = new RegExp(`^ {0,${Math.min(3, indent - 1)}}#`);
while (src) {
- rawLine = src.split('\n', 1)[0];
+ rawLine = src.split("\n", 1)[0];
nextLine = rawLine;
-
- // Re-align to follow commonmark nesting rules
if (this.options.pedantic) {
- nextLine = nextLine.replace(/^ {1,4}(?=( {4})*[^ ])/g, ' ');
+ nextLine = nextLine.replace(/^ {1,4}(?=( {4})*[^ ])/g, " ");
}
-
- // End list item if found code fences
if (fencesBeginRegex.test(nextLine)) {
break;
}
-
- // End list item if found start of new heading
if (headingBeginRegex.test(nextLine)) {
break;
}
-
- // End list item if found start of new bullet
if (nextBulletRegex.test(nextLine)) {
break;
}
-
- // Horizontal rule found
if (hrRegex.test(src)) {
break;
}
if (nextLine.search(/[^ ]/) >= indent || !nextLine.trim()) {
- // Dedent if possible
- itemContents += '\n' + nextLine.slice(indent);
+ itemContents += "\n" + nextLine.slice(indent);
} else {
- // not enough indentation
if (blankLine) {
break;
}
-
- // paragraph continuation unless last line was a different block level element
if (line.search(/[^ ]/) >= 4) {
- // indented code block
break;
}
if (fencesBeginRegex.test(line)) {
@@ -629,37 +515,33 @@ var Tokenizer = /*#__PURE__*/function () {
if (hrRegex.test(line)) {
break;
}
- itemContents += '\n' + nextLine;
+ itemContents += "\n" + nextLine;
}
if (!blankLine && !nextLine.trim()) {
- // Check if current line is blank
blankLine = true;
}
- raw += rawLine + '\n';
+ raw += rawLine + "\n";
src = src.substring(rawLine.length + 1);
line = nextLine.slice(indent);
}
}
if (!list.loose) {
- // If the previous item ended with a blank line, the list is loose
if (endsWithBlankLine) {
list.loose = true;
} else if (/\n *\n *$/.test(raw)) {
endsWithBlankLine = true;
}
}
-
- // Check for task list items
if (this.options.gfm) {
istask = /^\[[ xX]\] /.exec(itemContents);
if (istask) {
- ischecked = istask[0] !== '[ ] ';
- itemContents = itemContents.replace(/^\[[ xX]\] +/, '');
+ ischecked = istask[0] !== "[ ] ";
+ itemContents = itemContents.replace(/^\[[ xX]\] +/, "");
}
}
list.items.push({
- type: 'list_item',
- raw: raw,
+ type: "list_item",
+ raw,
task: !!istask,
checked: ischecked,
loose: false,
@@ -667,30 +549,19 @@ var Tokenizer = /*#__PURE__*/function () {
});
list.raw += raw;
}
-
- // Do not consume newlines at end of final item. Alternatively, make itemRegex *start* with any newlines to simplify/speed up endsWithBlankLine logic
list.items[list.items.length - 1].raw = raw.trimRight();
list.items[list.items.length - 1].text = itemContents.trimRight();
list.raw = list.raw.trimRight();
- var l = list.items.length;
-
- // Item child tokens handled here at end because we needed to have the final item to trim it first
+ const l = list.items.length;
for (i = 0; i < l; i++) {
this.lexer.state.top = false;
list.items[i].tokens = this.lexer.blockTokens(list.items[i].text, []);
if (!list.loose) {
- // Check if list should be loose
- var spacers = list.items[i].tokens.filter(function (t) {
- return t.type === 'space';
- });
- var hasMultipleLineBreaks = spacers.length > 0 && spacers.some(function (t) {
- return /\n.*\n/.test(t.raw);
- });
+ const spacers = list.items[i].tokens.filter((t) => t.type === "space");
+ const hasMultipleLineBreaks = spacers.length > 0 && spacers.some((t) => /\n.*\n/.test(t.raw));
list.loose = hasMultipleLineBreaks;
}
}
-
- // Set all items to loose if list is loose
if (list.loose) {
for (i = 0; i < l; i++) {
list.items[i].loose = true;
@@ -698,87 +569,80 @@ var Tokenizer = /*#__PURE__*/function () {
}
return list;
}
- };
- _proto.html = function html(src) {
- var cap = this.rules.block.html.exec(src);
+ }
+ html(src) {
+ const cap = this.rules.block.html.exec(src);
if (cap) {
- var token = {
- type: 'html',
+ const token = {
+ type: "html",
block: true,
raw: cap[0],
- pre: !this.options.sanitizer && (cap[1] === 'pre' || cap[1] === 'script' || cap[1] === 'style'),
+ pre: !this.options.sanitizer && (cap[1] === "pre" || cap[1] === "script" || cap[1] === "style"),
text: cap[0]
};
if (this.options.sanitize) {
- var text = this.options.sanitizer ? this.options.sanitizer(cap[0]) : escape(cap[0]);
- token.type = 'paragraph';
- token.text = text;
- token.tokens = this.lexer.inline(text);
+ const text = this.options.sanitizer ? this.options.sanitizer(cap[0]) : escape(cap[0]);
+ const paragraph = token;
+ paragraph.type = "paragraph";
+ paragraph.text = text;
+ paragraph.tokens = this.lexer.inline(text);
}
return token;
}
- };
- _proto.def = function def(src) {
- var cap = this.rules.block.def.exec(src);
+ }
+ def(src) {
+ const cap = this.rules.block.def.exec(src);
if (cap) {
- var tag = cap[1].toLowerCase().replace(/\s+/g, ' ');
- var href = cap[2] ? cap[2].replace(/^<(.*)>$/, '$1').replace(this.rules.inline._escapes, '$1') : '';
- var title = cap[3] ? cap[3].substring(1, cap[3].length - 1).replace(this.rules.inline._escapes, '$1') : cap[3];
+ const tag = cap[1].toLowerCase().replace(/\s+/g, " ");
+ const href = cap[2] ? cap[2].replace(/^<(.*)>$/, "$1").replace(this.rules.inline._escapes, "$1") : "";
+ const title = cap[3] ? cap[3].substring(1, cap[3].length - 1).replace(this.rules.inline._escapes, "$1") : cap[3];
return {
- type: 'def',
- tag: tag,
+ type: "def",
+ tag,
raw: cap[0],
- href: href,
- title: title
+ href,
+ title
};
}
- };
- _proto.table = function table(src) {
- var cap = this.rules.block.table.exec(src);
+ }
+ table(src) {
+ const cap = this.rules.block.table.exec(src);
if (cap) {
- var item = {
- type: 'table',
- header: splitCells(cap[1]).map(function (c) {
- return {
- text: c
- };
+ const item = {
+ type: "table",
+ // splitCells expects a number as second argument
+ // @ts-expect-error
+ header: splitCells(cap[1]).map((c) => {
+ return { text: c };
}),
- align: cap[2].replace(/^ *|\| *$/g, '').split(/ *\| */),
- rows: cap[3] && cap[3].trim() ? cap[3].replace(/\n[ \t]*$/, '').split('\n') : []
+ align: cap[2].replace(/^ *|\| *$/g, "").split(/ *\| */),
+ rows: cap[3] && cap[3].trim() ? cap[3].replace(/\n[ \t]*$/, "").split("\n") : []
};
if (item.header.length === item.align.length) {
item.raw = cap[0];
- var l = item.align.length;
- var i, j, k, row;
+ let l = item.align.length;
+ let i, j, k, row;
for (i = 0; i < l; i++) {
if (/^ *-+: *$/.test(item.align[i])) {
- item.align[i] = 'right';
+ item.align[i] = "right";
} else if (/^ *:-+: *$/.test(item.align[i])) {
- item.align[i] = 'center';
+ item.align[i] = "center";
} else if (/^ *:-+ *$/.test(item.align[i])) {
- item.align[i] = 'left';
+ item.align[i] = "left";
} else {
item.align[i] = null;
}
}
l = item.rows.length;
for (i = 0; i < l; i++) {
- item.rows[i] = splitCells(item.rows[i], item.header.length).map(function (c) {
- return {
- text: c
- };
+ item.rows[i] = splitCells(item.rows[i], item.header.length).map((c) => {
+ return { text: c };
});
}
-
- // parse child tokens inside headers and cells
-
- // header child tokens
l = item.header.length;
for (j = 0; j < l; j++) {
item.header[j].tokens = this.lexer.inline(item.header[j].text);
}
-
- // cell child tokens
l = item.rows.length;
for (j = 0; j < l; j++) {
row = item.rows[j];
@@ -789,54 +653,54 @@ var Tokenizer = /*#__PURE__*/function () {
return item;
}
}
- };
- _proto.lheading = function lheading(src) {
- var cap = this.rules.block.lheading.exec(src);
+ }
+ lheading(src) {
+ const cap = this.rules.block.lheading.exec(src);
if (cap) {
return {
- type: 'heading',
+ type: "heading",
raw: cap[0],
- depth: cap[2].charAt(0) === '=' ? 1 : 2,
+ depth: cap[2].charAt(0) === "=" ? 1 : 2,
text: cap[1],
tokens: this.lexer.inline(cap[1])
};
}
- };
- _proto.paragraph = function paragraph(src) {
- var cap = this.rules.block.paragraph.exec(src);
+ }
+ paragraph(src) {
+ const cap = this.rules.block.paragraph.exec(src);
if (cap) {
- var text = cap[1].charAt(cap[1].length - 1) === '\n' ? cap[1].slice(0, -1) : cap[1];
+ const text = cap[1].charAt(cap[1].length - 1) === "\n" ? cap[1].slice(0, -1) : cap[1];
return {
- type: 'paragraph',
+ type: "paragraph",
raw: cap[0],
- text: text,
+ text,
tokens: this.lexer.inline(text)
};
}
- };
- _proto.text = function text(src) {
- var cap = this.rules.block.text.exec(src);
+ }
+ text(src) {
+ const cap = this.rules.block.text.exec(src);
if (cap) {
return {
- type: 'text',
+ type: "text",
raw: cap[0],
text: cap[0],
tokens: this.lexer.inline(cap[0])
};
}
- };
- _proto.escape = function escape$1(src) {
- var cap = this.rules.inline.escape.exec(src);
+ }
+ escape(src) {
+ const cap = this.rules.inline.escape.exec(src);
if (cap) {
return {
- type: 'escape',
+ type: "escape",
raw: cap[0],
text: escape(cap[1])
};
}
- };
- _proto.tag = function tag(src) {
- var cap = this.rules.inline.tag.exec(src);
+ }
+ tag(src) {
+ const cap = this.rules.inline.tag.exec(src);
if (cap) {
if (!this.lexer.state.inLink && /^$/.test(trimmedUrl)) {
return;
}
-
- // ending angle bracket cannot be escaped
- var rtrimSlash = rtrim(trimmedUrl.slice(0, -1), '\\');
+ const rtrimSlash = rtrim(trimmedUrl.slice(0, -1), "\\");
if ((trimmedUrl.length - rtrimSlash.length) % 2 === 0) {
return;
}
} else {
- // find closing parenthesis
- var lastParenIndex = findClosingBracket(cap[2], '()');
+ const lastParenIndex = findClosingBracket(cap[2], "()");
if (lastParenIndex > -1) {
- var start = cap[0].indexOf('!') === 0 ? 5 : 4;
- var linkLen = start + cap[1].length + lastParenIndex;
+ const start = cap[0].indexOf("!") === 0 ? 5 : 4;
+ const linkLen = start + cap[1].length + lastParenIndex;
cap[2] = cap[2].substring(0, lastParenIndex);
cap[0] = cap[0].substring(0, linkLen).trim();
- cap[3] = '';
+ cap[3] = "";
}
}
- var href = cap[2];
- var title = '';
+ let href = cap[2];
+ let title = "";
if (this.options.pedantic) {
- // split pedantic href and title
- var link = /^([^'"]*[^\s])\s+(['"])(.*)\2/.exec(href);
+ const link = /^([^'"]*[^\s])\s+(['"])(.*)\2/.exec(href);
if (link) {
href = link[1];
title = link[3];
}
} else {
- title = cap[3] ? cap[3].slice(1, -1) : '';
+ title = cap[3] ? cap[3].slice(1, -1) : "";
}
href = href.trim();
if (/^$/.test(trimmedUrl)) {
- // pedantic allows starting angle bracket without ending angle bracket
href = href.slice(1);
} else {
href = href.slice(1, -1);
}
}
return outputLink(cap, {
- href: href ? href.replace(this.rules.inline._escapes, '$1') : href,
- title: title ? title.replace(this.rules.inline._escapes, '$1') : title
+ href: href ? href.replace(this.rules.inline._escapes, "$1") : href,
+ title: title ? title.replace(this.rules.inline._escapes, "$1") : title
}, cap[0], this.lexer);
}
- };
- _proto.reflink = function reflink(src, links) {
- var cap;
+ }
+ reflink(src, links) {
+ let cap;
if ((cap = this.rules.inline.reflink.exec(src)) || (cap = this.rules.inline.nolink.exec(src))) {
- var link = (cap[2] || cap[1]).replace(/\s+/g, ' ');
+ let link = (cap[2] || cap[1]).replace(/\s+/g, " ");
link = links[link.toLowerCase()];
if (!link) {
- var text = cap[0].charAt(0);
+ const text = cap[0].charAt(0);
return {
- type: 'text',
+ type: "text",
raw: text,
- text: text
+ text
};
}
return outputLink(cap, link, cap[0], this.lexer);
}
- };
- _proto.emStrong = function emStrong(src, maskedSrc, prevChar) {
- if (prevChar === void 0) {
- prevChar = '';
- }
- var match = this.rules.inline.emStrong.lDelim.exec(src);
- if (!match) return;
-
- // _ can't be between two alphanumerics. \p{L}\p{N} includes non-english alphabet/numbers as well
- if (match[3] && prevChar.match(/(?:[0-9A-Za-z\xAA\xB2\xB3\xB5\xB9\xBA\xBC-\xBE\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\u0660-\u0669\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07C0-\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\u0966-\u096F\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09E6-\u09F1\u09F4-\u09F9\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A66-\u0A6F\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AE6-\u0AEF\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B66-\u0B6F\u0B71-\u0B77\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0BE6-\u0BF2\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C5D\u0C60\u0C61\u0C66-\u0C6F\u0C78-\u0C7E\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDD\u0CDE\u0CE0\u0CE1\u0CE6-\u0CEF\u0CF1\u0CF2\u0D04-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D58-\u0D61\u0D66-\u0D78\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DE6-\u0DEF\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F20-\u0F33\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F-\u1049\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u1090-\u1099\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\u1369-\u137C\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\u17E0-\u17E9\u17F0-\u17F9\u1810-\u1819\u1820-\u1878\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19DA\u1A00-\u1A16\u1A20-\u1A54\u1A80-\u1A89\u1A90-\u1A99\u1AA7\u1B05-\u1B33\u1B45-\u1B4C\u1B50-\u1B59\u1B83-\u1BA0\u1BAE-\u1BE5\u1C00-\u1C23\u1C40-\u1C49\u1C4D-\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\u2070\u2071\u2074-\u2079\u207F-\u2089\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2150-\u2189\u2460-\u249B\u24EA-\u24FF\u2776-\u2793\u2C00-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2CFD\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-\u312F\u3131-\u318E\u3192-\u3195\u31A0-\u31BF\u31F0-\u31FF\u3220-\u3229\u3248-\u324F\u3251-\u325F\u3280-\u3289\u32B1-\u32BF\u3400-\u4DBF\u4E00-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\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\uA830-\uA835\uA840-\uA873\uA882-\uA8B3\uA8D0-\uA8D9\uA8F2-\uA8F7\uA8FB\uA8FD\uA8FE\uA900-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF-\uA9D9\uA9E0-\uA9E4\uA9E6-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA50-\uAA59\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\uABF0-\uABF9\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\uFF10-\uFF19\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\uDD07-\uDD33\uDD40-\uDD78\uDD8A\uDD8B\uDE80-\uDE9C\uDEA0-\uDED0\uDEE1-\uDEFB\uDF00-\uDF23\uDF2D-\uDF4A\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCA0-\uDCA9\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDD70-\uDD7A\uDD7C-\uDD8A\uDD8C-\uDD92\uDD94\uDD95\uDD97-\uDDA1\uDDA3-\uDDB1\uDDB3-\uDDB9\uDDBB\uDDBC\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67\uDF80-\uDF85\uDF87-\uDFB0\uDFB2-\uDFBA]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC58-\uDC76\uDC79-\uDC9E\uDCA7-\uDCAF\uDCE0-\uDCF2\uDCF4\uDCF5\uDCFB-\uDD1B\uDD20-\uDD39\uDD80-\uDDB7\uDDBC-\uDDCF\uDDD2-\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE35\uDE40-\uDE48\uDE60-\uDE7E\uDE80-\uDE9F\uDEC0-\uDEC7\uDEC9-\uDEE4\uDEEB-\uDEEF\uDF00-\uDF35\uDF40-\uDF55\uDF58-\uDF72\uDF78-\uDF91\uDFA9-\uDFAF]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2\uDCFA-\uDD23\uDD30-\uDD39\uDE60-\uDE7E\uDE80-\uDEA9\uDEB0\uDEB1\uDF00-\uDF27\uDF30-\uDF45\uDF51-\uDF54\uDF70-\uDF81\uDFB0-\uDFCB\uDFE0-\uDFF6]|\uD804[\uDC03-\uDC37\uDC52-\uDC6F\uDC71\uDC72\uDC75\uDC83-\uDCAF\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD03-\uDD26\uDD36-\uDD3F\uDD44\uDD47\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDD0-\uDDDA\uDDDC\uDDE1-\uDDF4\uDE00-\uDE11\uDE13-\uDE2B\uDE3F\uDE40\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDEF0-\uDEF9\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC50-\uDC59\uDC5F-\uDC61\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE50-\uDE59\uDE80-\uDEAA\uDEB8\uDEC0-\uDEC9\uDF00-\uDF1A\uDF30-\uDF3B\uDF40-\uDF46]|\uD806[\uDC00-\uDC2B\uDCA0-\uDCF2\uDCFF-\uDD06\uDD09\uDD0C-\uDD13\uDD15\uDD16\uDD18-\uDD2F\uDD3F\uDD41\uDD50-\uDD59\uDDA0-\uDDA7\uDDAA-\uDDD0\uDDE1\uDDE3\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE89\uDE9D\uDEB0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC50-\uDC6C\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46\uDD50-\uDD59\uDD60-\uDD65\uDD67\uDD68\uDD6A-\uDD89\uDD98\uDDA0-\uDDA9\uDEE0-\uDEF2\uDF02\uDF04-\uDF10\uDF12-\uDF33\uDF50-\uDF59\uDFB0\uDFC0-\uDFD4]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|\uD80B[\uDF90-\uDFF0]|[\uD80C\uD81C-\uD820\uD822\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879\uD880-\uD883\uD885-\uD887][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2F\uDC41-\uDC46]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE60-\uDE69\uDE70-\uDEBE\uDEC0-\uDEC9\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF50-\uDF59\uDF5B-\uDF61\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDE40-\uDE96\uDF00-\uDF4A\uDF50\uDF93-\uDF9F\uDFE0\uDFE1\uDFE3]|\uD821[\uDC00-\uDFF7]|\uD823[\uDC00-\uDCD5\uDD00-\uDD08]|\uD82B[\uDFF0-\uDFF3\uDFF5-\uDFFB\uDFFD\uDFFE]|\uD82C[\uDC00-\uDD22\uDD32\uDD50-\uDD52\uDD55\uDD64-\uDD67\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD834[\uDEC0-\uDED3\uDEE0-\uDEF3\uDF60-\uDF78]|\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]|\uD837[\uDF00-\uDF1E\uDF25-\uDF2A]|\uD838[\uDC30-\uDC6D\uDD00-\uDD2C\uDD37-\uDD3D\uDD40-\uDD49\uDD4E\uDE90-\uDEAD\uDEC0-\uDEEB\uDEF0-\uDEF9]|\uD839[\uDCD0-\uDCEB\uDCF0-\uDCF9\uDFE0-\uDFE6\uDFE8-\uDFEB\uDFED\uDFEE\uDFF0-\uDFFE]|\uD83A[\uDC00-\uDCC4\uDCC7-\uDCCF\uDD00-\uDD43\uDD4B\uDD50-\uDD59]|\uD83B[\uDC71-\uDCAB\uDCAD-\uDCAF\uDCB1-\uDCB4\uDD01-\uDD2D\uDD2F-\uDD3D\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]|\uD83C[\uDD00-\uDD0C]|\uD83E[\uDFF0-\uDFF9]|\uD869[\uDC00-\uDEDF\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF39\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]|\uD884[\uDC00-\uDF4A\uDF50-\uDFFF]|\uD888[\uDC00-\uDFAF])/)) return;
- var nextChar = match[1] || match[2] || '';
+ }
+ emStrong(src, maskedSrc, prevChar = "") {
+ let match = this.rules.inline.emStrong.lDelim.exec(src);
+ if (!match)
+ return;
+ if (match[3] && prevChar.match(/[\p{L}\p{N}]/u))
+ return;
+ const nextChar = match[1] || match[2] || "";
if (!nextChar || !prevChar || this.rules.inline.punctuation.exec(prevChar)) {
- var lLength = match[0].length - 1;
- var rDelim,
- rLength,
- delimTotal = lLength,
- midDelimTotal = 0;
- var endReg = match[0][0] === '*' ? this.rules.inline.emStrong.rDelimAst : this.rules.inline.emStrong.rDelimUnd;
+ const lLength = match[0].length - 1;
+ let rDelim, rLength, delimTotal = lLength, midDelimTotal = 0;
+ const endReg = match[0][0] === "*" ? this.rules.inline.emStrong.rDelimAst : this.rules.inline.emStrong.rDelimUnd;
endReg.lastIndex = 0;
-
- // Clip maskedSrc to same section of string as src (move to lexer?)
maskedSrc = maskedSrc.slice(-1 * src.length + lLength);
while ((match = endReg.exec(maskedSrc)) != null) {
rDelim = match[1] || match[2] || match[3] || match[4] || match[5] || match[6];
- if (!rDelim) continue; // skip single * in __abc*abc__
-
+ if (!rDelim)
+ continue;
rLength = rDelim.length;
if (match[3] || match[4]) {
- // found another Left Delim
delimTotal += rLength;
continue;
} else if (match[5] || match[6]) {
- // either Left or Right Delim
if (lLength % 3 && !((lLength + rLength) % 3)) {
midDelimTotal += rLength;
- continue; // CommonMark Emphasis Rules 9-10
+ continue;
}
}
-
delimTotal -= rLength;
- if (delimTotal > 0) continue; // Haven't found enough closing delimiters
-
- // Remove extra characters. *a*** -> *a*
+ if (delimTotal > 0)
+ continue;
rLength = Math.min(rLength, rLength + delimTotal + midDelimTotal);
- var raw = src.slice(0, lLength + match.index + rLength + 1);
-
- // Create `em` if smallest delimiter has odd char count. *a***
+ const raw = src.slice(0, lLength + match.index + rLength + 1);
if (Math.min(lLength, rLength) % 2) {
- var _text = raw.slice(1, -1);
+ const text2 = raw.slice(1, -1);
return {
- type: 'em',
- raw: raw,
- text: _text,
- tokens: this.lexer.inlineTokens(_text)
+ type: "em",
+ raw,
+ text: text2,
+ tokens: this.lexer.inlineTokens(text2)
};
}
-
- // Create 'strong' if smallest delimiter has even char count. **a***
- var text = raw.slice(2, -2);
+ const text = raw.slice(2, -2);
return {
- type: 'strong',
- raw: raw,
- text: text,
+ type: "strong",
+ raw,
+ text,
tokens: this.lexer.inlineTokens(text)
};
}
}
- };
- _proto.codespan = function codespan(src) {
- var cap = this.rules.inline.code.exec(src);
+ }
+ codespan(src) {
+ const cap = this.rules.inline.code.exec(src);
if (cap) {
- var text = cap[2].replace(/\n/g, ' ');
- var hasNonSpaceChars = /[^ ]/.test(text);
- var hasSpaceCharsOnBothEnds = /^ /.test(text) && / $/.test(text);
+ let text = cap[2].replace(/\n/g, " ");
+ const hasNonSpaceChars = /[^ ]/.test(text);
+ const hasSpaceCharsOnBothEnds = /^ /.test(text) && / $/.test(text);
if (hasNonSpaceChars && hasSpaceCharsOnBothEnds) {
text = text.substring(1, text.length - 1);
}
text = escape(text, true);
return {
- type: 'codespan',
+ type: "codespan",
raw: cap[0],
- text: text
+ text
};
}
- };
- _proto.br = function br(src) {
- var cap = this.rules.inline.br.exec(src);
+ }
+ br(src) {
+ const cap = this.rules.inline.br.exec(src);
if (cap) {
return {
- type: 'br',
+ type: "br",
raw: cap[0]
};
}
- };
- _proto.del = function del(src) {
- var cap = this.rules.inline.del.exec(src);
+ }
+ del(src) {
+ const cap = this.rules.inline.del.exec(src);
if (cap) {
return {
- type: 'del',
+ type: "del",
raw: cap[0],
text: cap[2],
tokens: this.lexer.inlineTokens(cap[2])
};
}
- };
- _proto.autolink = function autolink(src, mangle) {
- var cap = this.rules.inline.autolink.exec(src);
+ }
+ autolink(src, mangle2) {
+ const cap = this.rules.inline.autolink.exec(src);
if (cap) {
- var text, href;
- if (cap[2] === '@') {
- text = escape(this.options.mangle ? mangle(cap[1]) : cap[1]);
- href = 'mailto:' + text;
+ let text, href;
+ if (cap[2] === "@") {
+ text = escape(this.options.mangle ? mangle2(cap[1]) : cap[1]);
+ href = "mailto:" + text;
} else {
text = escape(cap[1]);
href = text;
}
return {
- type: 'link',
+ type: "link",
raw: cap[0],
- text: text,
- href: href,
- tokens: [{
- type: 'text',
- raw: text,
- text: text
- }]
+ text,
+ href,
+ tokens: [
+ {
+ type: "text",
+ raw: text,
+ text
+ }
+ ]
};
}
- };
- _proto.url = function url(src, mangle) {
- var cap;
+ }
+ url(src, mangle2) {
+ let cap;
if (cap = this.rules.inline.url.exec(src)) {
- var text, href;
- if (cap[2] === '@') {
- text = escape(this.options.mangle ? mangle(cap[0]) : cap[0]);
- href = 'mailto:' + text;
+ let text, href;
+ if (cap[2] === "@") {
+ text = escape(this.options.mangle ? mangle2(cap[0]) : cap[0]);
+ href = "mailto:" + text;
} else {
- // do extended autolink path validation
- var prevCapZero;
+ let prevCapZero;
do {
prevCapZero = cap[0];
cap[0] = this.rules.inline._backpedal.exec(cap[0])[0];
} while (prevCapZero !== cap[0]);
text = escape(cap[0]);
- if (cap[1] === 'www.') {
- href = 'http://' + cap[0];
+ if (cap[1] === "www.") {
+ href = "http://" + cap[0];
} else {
href = cap[0];
}
}
return {
- type: 'link',
+ type: "link",
raw: cap[0],
- text: text,
- href: href,
- tokens: [{
- type: 'text',
- raw: text,
- text: text
- }]
+ text,
+ href,
+ tokens: [
+ {
+ type: "text",
+ raw: text,
+ text
+ }
+ ]
};
}
- };
- _proto.inlineText = function inlineText(src, smartypants) {
- var cap = this.rules.inline.text.exec(src);
+ }
+ inlineText(src, smartypants2) {
+ const cap = this.rules.inline.text.exec(src);
if (cap) {
- var text;
+ let text;
if (this.lexer.state.inRawBlock) {
text = this.options.sanitize ? this.options.sanitizer ? this.options.sanitizer(cap[0]) : escape(cap[0]) : cap[0];
} else {
- text = escape(this.options.smartypants ? smartypants(cap[0]) : cap[0]);
+ text = escape(this.options.smartypants ? smartypants2(cap[0]) : cap[0]);
}
return {
- type: 'text',
+ type: "text",
raw: cap[0],
- text: text
+ text
};
}
- };
- return Tokenizer;
-}();
+ }
+};
-/**
- * Block-Level Grammar
- */
+// src/rules.ts
var block = {
newline: /^(?: *(?:\n|$))+/,
code: /^( {4}[^\n]+(?:\n(?: *(?:\n|$))*)?)+/,
@@ -1119,16 +961,7 @@ var block = {
heading: /^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,
blockquote: /^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/,
list: /^( {0,3}bull)([ \t][^\n]+?)?(?:\n|$)/,
- html: '^ {0,3}(?:' // optional indentation
- + '<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:\\1>[^\\n]*\\n+|$)' // (1)
- + '|comment[^\\n]*(\\n+|$)' // (2)
- + '|<\\?[\\s\\S]*?(?:\\?>\\n*|$)' // (3)
- + '|\\n*|$)' // (4)
- + '|\\n*|$)' // (5)
- + '|?(tag)(?: +|\\n|/?>)[\\s\\S]*?(?:(?:\\n *)+\\n|$)' // (6)
- + '|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$)' // (7) open tag
- + '|(?!script|pre|style|textarea)[a-z][\\w-]*\\s*>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$)' // (7) closing tag
- + ')',
+ html: "^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:\\1>[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|\\n*|$)|\\n*|$)|?(tag)(?: +|\\n|/?>)[\\s\\S]*?(?:(?:\\n *)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$)|(?!script|pre|style|textarea)[a-z][\\w-]*\\s*>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$))",
def: /^ {0,3}\[(label)\]: *(?:\n *)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n *)?| *\n *)(title))? *(?:\n+|$)/,
table: noopTest,
lheading: /^((?:(?!^bull ).|\n(?!\n|bull ))+?)\n {0,3}(=+|-+) *(?:\n+|$)/,
@@ -1139,130 +972,86 @@ var block = {
};
block._label = /(?!\s*\])(?:\\.|[^\[\]\\])+/;
block._title = /(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/;
-block.def = edit(block.def).replace('label', block._label).replace('title', block._title).getRegex();
+block.def = edit(block.def).replace("label", block._label).replace("title", block._title).getRegex();
block.bullet = /(?:[*+-]|\d{1,9}[.)])/;
-block.listItemStart = edit(/^( *)(bull) */).replace('bull', block.bullet).getRegex();
-block.list = edit(block.list).replace(/bull/g, block.bullet).replace('hr', '\\n+(?=\\1?(?:(?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$))').replace('def', '\\n+(?=' + block.def.source + ')').getRegex();
-block._tag = 'address|article|aside|base|basefont|blockquote|body|caption' + '|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption' + '|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe' + '|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option' + '|p|param|section|source|summary|table|tbody|td|tfoot|th|thead|title|tr' + '|track|ul';
+block.listItemStart = edit(/^( *)(bull) */).replace("bull", block.bullet).getRegex();
+block.list = edit(block.list).replace(/bull/g, block.bullet).replace("hr", "\\n+(?=\\1?(?:(?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$))").replace("def", "\\n+(?=" + block.def.source + ")").getRegex();
+block._tag = "address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|section|source|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul";
block._comment = /|$)/;
-block.html = edit(block.html, 'i').replace('comment', block._comment).replace('tag', block._tag).replace('attribute', / +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex();
-block.lheading = edit(block.lheading).replace(/bull/g, block.bullet) // lists can interrupt
-.getRegex();
-block.paragraph = edit(block._paragraph).replace('hr', block.hr).replace('heading', ' {0,3}#{1,6} ').replace('|lheading', '') // setex headings don't interrupt commonmark paragraphs
-.replace('|table', '').replace('blockquote', ' {0,3}>').replace('fences', ' {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n').replace('list', ' {0,3}(?:[*+-]|1[.)]) ') // only lists starting from 1 can interrupt
-.replace('html', '?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)').replace('tag', block._tag) // pars can be interrupted by type (6) html blocks
-.getRegex();
-block.blockquote = edit(block.blockquote).replace('paragraph', block.paragraph).getRegex();
-
-/**
- * Normal Block Grammar
- */
-
-block.normal = _extends({}, block);
-
-/**
- * GFM Block Grammar
- */
-
-block.gfm = _extends({}, block.normal, {
- table: '^ *([^\\n ].*\\|.*)\\n' // Header
- + ' {0,3}(?:\\| *)?(:?-+:? *(?:\\| *:?-+:? *)*)(?:\\| *)?' // Align
- + '(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)' // Cells
-});
-
-block.gfm.table = edit(block.gfm.table).replace('hr', block.hr).replace('heading', ' {0,3}#{1,6} ').replace('blockquote', ' {0,3}>').replace('code', ' {4}[^\\n]').replace('fences', ' {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n').replace('list', ' {0,3}(?:[*+-]|1[.)]) ') // only lists starting from 1 can interrupt
-.replace('html', '?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)').replace('tag', block._tag) // tables can be interrupted by type (6) html blocks
-.getRegex();
-block.gfm.paragraph = edit(block._paragraph).replace('hr', block.hr).replace('heading', ' {0,3}#{1,6} ').replace('|lheading', '') // setex headings don't interrupt commonmark paragraphs
-.replace('table', block.gfm.table) // interrupt paragraphs with table
-.replace('blockquote', ' {0,3}>').replace('fences', ' {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n').replace('list', ' {0,3}(?:[*+-]|1[.)]) ') // only lists starting from 1 can interrupt
-.replace('html', '?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)').replace('tag', block._tag) // pars can be interrupted by type (6) html blocks
-.getRegex();
-/**
- * Pedantic grammar (original John Gruber's loose markdown specification)
- */
-
-block.pedantic = _extends({}, block.normal, {
- html: edit('^ *(?:comment *(?:\\n|\\s*$)' + '|<(tag)[\\s\\S]+?\\1> *(?:\\n{2,}|\\s*$)' // closed tag
- + '|
' + (escaped ? _code : escape(_code, true)) + '
\n';
+ return "" + (escaped ? code : escape(code, true)) + "
\n";
}
- return '' + (escaped ? _code : escape(_code, true)) + '
\n';
+ return '' + (escaped ? code : escape(code, true)) + "
\n";
}
-
- /**
- * @param {string} quote
- */;
- _proto.blockquote = function blockquote(quote) {
- return "\n" + quote + "\n"; - }; - _proto.html = function html(_html, block) { - return _html; + blockquote(quote) { + return `
+${quote}+`; } - - /** - * @param {string} text - * @param {string} level - * @param {string} raw - * @param {any} slugger - */; - _proto.heading = function heading(text, level, raw, slugger) { + html(html, block2) { + return html; + } + heading(text, level, raw, slugger) { if (this.options.headerIds) { - var id = this.options.headerPrefix + slugger.slug(raw); - return "
" + text + "
\n"; + list(body, ordered, start) { + const type = ordered ? "ol" : "ul", startatt = ordered && start !== 1 ? ' start="' + start + '"' : ""; + return "<" + type + startatt + ">\n" + body + "" + type + ">\n"; } - - /** - * @param {string} header - * @param {string} body - */; - _proto.table = function table(header, body) { - if (body) body = "" + body + ""; - return '${text}
+`; + } + table(header, body) { + if (body) + body = `${body}`; + return "" + text + "
";
- };
- _proto.br = function br() {
- return this.options.xhtml ? '${text}
`;
}
-
- /**
- * @param {string} text
- */;
- _proto.del = function del(text) {
- return "An error occurred:
' + escape(e.message + '', true) + ''; + const msg = "
An error occurred:
" + escape(e.message + "", true) + ""; if (async) { return Promise.resolve(msg); } @@ -2780,67 +2221,40 @@ function _onError2(silent, async, callback) { } throw e; }; -} +}; -var markedInstance = new Marked(exports.defaults); - -/** - * Marked - */ +// src/marked.ts +var markedInstance = new Marked(); function marked(src, opt, callback) { return markedInstance.parse(src, opt, callback); } - -/** - * Options - */ - -marked.options = marked.setOptions = function (opt) { - markedInstance.setOptions(opt); +marked.options = marked.setOptions = function(options2) { + markedInstance.setOptions(options2); marked.defaults = markedInstance.defaults; changeDefaults(marked.defaults); return marked; }; -marked.getDefaults = getDefaults; -marked.defaults = exports.defaults; - -/** - * Use Extension - */ - -marked.use = function () { - markedInstance.use.apply(markedInstance, arguments); +marked.getDefaults = _getDefaults; +marked.defaults = _defaults; +marked.use = function(...args) { + markedInstance.use(...args); marked.defaults = markedInstance.defaults; changeDefaults(marked.defaults); return marked; }; - -/** - * Run callback for every token - */ - -marked.walkTokens = function (tokens, callback) { +marked.walkTokens = function(tokens, callback) { return markedInstance.walkTokens(tokens, callback); }; - -/** - * Parse Inline - * @param {string} src - */ marked.parseInline = markedInstance.parseInline; - -/** - * Expose - */ -marked.Parser = Parser; -marked.parser = Parser.parse; -marked.Renderer = Renderer; -marked.TextRenderer = TextRenderer; -marked.Lexer = Lexer; -marked.lexer = Lexer.lex; -marked.Tokenizer = Tokenizer; -marked.Slugger = Slugger; -marked.Hooks = Hooks; +marked.Parser = _Parser; +marked.parser = _Parser.parse; +marked.Renderer = _Renderer; +marked.TextRenderer = _TextRenderer; +marked.Lexer = _Lexer; +marked.lexer = _Lexer.lex; +marked.Tokenizer = _Tokenizer; +marked.Slugger = _Slugger; +marked.Hooks = _Hooks; marked.parse = marked; var options = marked.options; var setOptions = marked.setOptions; @@ -2848,24 +2262,28 @@ var use = marked.use; var walkTokens = marked.walkTokens; var parseInline = marked.parseInline; var parse = marked; -var parser = Parser.parse; -var lexer = Lexer.lex; - -exports.Hooks = Hooks; -exports.Lexer = Lexer; -exports.Marked = Marked; -exports.Parser = Parser; -exports.Renderer = Renderer; -exports.Slugger = Slugger; -exports.TextRenderer = TextRenderer; -exports.Tokenizer = Tokenizer; -exports.getDefaults = getDefaults; -exports.lexer = lexer; -exports.marked = marked; -exports.options = options; -exports.parse = parse; -exports.parseInline = parseInline; -exports.parser = parser; -exports.setOptions = setOptions; -exports.use = use; -exports.walkTokens = walkTokens; +var parser = _Parser.parse; +var lexer = _Lexer.lex; +// Annotate the CommonJS export names for ESM import in node: +0 && (module.exports = { + Hooks, + Lexer, + Marked, + Parser, + Renderer, + Slugger, + TextRenderer, + Tokenizer, + defaults, + getDefaults, + lexer, + marked, + options, + parse, + parseInline, + parser, + setOptions, + use, + walkTokens +}); +//# sourceMappingURL=marked.cjs.map \ No newline at end of file diff --git a/lib/marked.cjs.map b/lib/marked.cjs.map new file mode 100644 index 00000000..7c5d2227 --- /dev/null +++ b/lib/marked.cjs.map @@ -0,0 +1 @@ +{"version":3,"sources":["../src/marked.ts","../src/defaults.ts","../src/helpers.ts","../src/Tokenizer.ts","../src/rules.ts","../src/Lexer.ts","../src/Renderer.ts","../src/TextRenderer.ts","../src/Slugger.ts","../src/Parser.ts","../src/Hooks.ts","../src/Instance.ts"],"sourcesContent":["import { _Lexer } from './Lexer.ts';\nimport { _Parser } from './Parser.ts';\nimport { _Tokenizer } from './Tokenizer.ts';\nimport { _Renderer } from './Renderer.ts';\nimport { _TextRenderer } from './TextRenderer.ts';\nimport { _Slugger } from './Slugger.ts';\nimport { _Hooks } from './Hooks.ts';\nimport { Marked } from './Instance.ts';\nimport {\n _getDefaults,\n changeDefaults,\n _defaults\n} from './defaults.ts';\nimport type { MarkedExtension, MarkedOptions } from './MarkedOptions.ts';\nimport type { Token, TokensList } from './Tokens.ts';\n\nexport type ResultCallback = (error: Error | null, parseResult?: string) => undefined | void;\n\nconst markedInstance = new Marked();\n\n/**\n * Compiles markdown to HTML asynchronously.\n *\n * @param src String of markdown source to be compiled\n * @param options Hash of options, having async: true\n * @return Promise of string of compiled HTML\n */\nexport function marked(src: string, options: MarkedOptions & { async: true }): Promise
'\n + (escaped ? code : escape(code, true))\n + '
\\n';\n }\n\n return ''\n + (escaped ? code : escape(code, true))\n + '
\\n';\n }\n\n blockquote(quote: string): string {\n return `\\n${quote}\\n`;\n }\n\n html(html: string, block?: boolean) : string {\n return html;\n }\n\n heading(text: string, level: number, raw: string, slugger: Slugger): string {\n if (this.options.headerIds) {\n const id = this.options.headerPrefix + slugger.slug(raw);\n return `
${text}
\\n`;\n }\n\n table(header: string, body: string): string {\n if (body) body = `${body}`;\n\n return '${text}
`;\n }\n\n br(): string {\n return this.options.xhtml ? 'An error occurred:
'\n + escape(e.message + '', true)\n + '';\n if (async) {\n return Promise.resolve(msg);\n }\n if (callback) {\n callback(null, msg);\n return;\n }\n return msg;\n }\n\n if (async) {\n return Promise.reject(e);\n }\n if (callback) {\n callback(e);\n return;\n }\n throw e;\n };\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACKO,SAAS,eAA8B;AAC5C,SAAO;AAAA,IACL,OAAO;AAAA,IACP,SAAS;AAAA,IACT,QAAQ;AAAA,IACR,YAAY;AAAA,IACZ,KAAK;AAAA,IACL,WAAW;AAAA,IACX,cAAc;AAAA,IACd,WAAW;AAAA,IACX,OAAO;AAAA,IACP,YAAY;AAAA,IACZ,QAAQ;AAAA,IACR,UAAU;AAAA,IACV,UAAU;AAAA,IACV,UAAU;AAAA,IACV,WAAW;AAAA,IACX,QAAQ;AAAA,IACR,aAAa;AAAA,IACb,WAAW;AAAA,IACX,YAAY;AAAA,IACZ,OAAO;AAAA,EACT;AACF;AAEO,IAAI,YAAY,aAAa;AAE7B,SAAS,eAAe,aAA4B;AACzD,cAAY;AACd;;;AC3BA,IAAM,aAAa;AACnB,IAAM,gBAAgB,IAAI,OAAO,WAAW,QAAQ,GAAG;AACvD,IAAM,qBAAqB;AAC3B,IAAM,wBAAwB,IAAI,OAAO,mBAAmB,QAAQ,GAAG;AACvE,IAAM,qBAAqB;AAAA,EACzB,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AACP;AACA,IAAM,uBAAuB,CAAC,OAAe,mBAAmB,EAAE;AAE3D,SAAS,OAAO,MAAc,QAAkB;AACrD,MAAI,QAAQ;AACV,QAAI,WAAW,KAAK,IAAI,GAAG;AACzB,aAAO,KAAK,QAAQ,eAAe,oBAAoB;AAAA,IACzD;AAAA,EACF,OAAO;AACL,QAAI,mBAAmB,KAAK,IAAI,GAAG;AACjC,aAAO,KAAK,QAAQ,uBAAuB,oBAAoB;AAAA,IACjE;AAAA,EACF;AAEA,SAAO;AACT;AAEA,IAAM,eAAe;AAEd,SAAS,SAAS,MAAc;AAErC,SAAO,KAAK,QAAQ,cAAc,CAAC,GAAG,MAAM;AAC1C,QAAI,EAAE,YAAY;AAClB,QAAI,MAAM;AAAS,aAAO;AAC1B,QAAI,EAAE,OAAO,CAAC,MAAM,KAAK;AACvB,aAAO,EAAE,OAAO,CAAC,MAAM,MACnB,OAAO,aAAa,SAAS,EAAE,UAAU,CAAC,GAAG,EAAE,CAAC,IAChD,OAAO,aAAa,CAAC,EAAE,UAAU,CAAC,CAAC;AAAA,IACzC;AACA,WAAO;AAAA,EACT,CAAC;AACH;AAEA,IAAM,QAAQ;AAEP,SAAS,KAAK,OAAa,KAAc;AAC9C,UAAQ,OAAO,UAAU,WAAW,QAAQ,MAAM;AAClD,QAAM,OAAO;AACb,QAAM,MAAM;AAAA,IACV,SAAS,CAAC,MAAuB,QAAyB;AACxD,YAAM,OAAO,QAAQ,YAAY,YAAY,MAAM,IAAI,SAAS;AAChE,YAAM,IAAI,QAAQ,OAAO,IAAI;AAC7B,cAAS,MAAiB,QAAQ,MAAM,GAAG;AAC3C,aAAO;AAAA,IACT;AAAA,IACA,UAAU,MAAM;AACd,aAAO,IAAI,OAAO,OAAO,GAAG;AAAA,IAC9B;AAAA,EACF;AACA,SAAO;AACT;AAEA,IAAM,sBAAsB;AAC5B,IAAM,uBAAuB;AAEtB,SAAS,SAAS,UAA+B,MAAiC,MAAc;AACrG,MAAI,UAAU;AACZ,QAAI;AACJ,QAAI;AACF,aAAO,mBAAmB,SAAS,IAAI,CAAC,EACrC,QAAQ,qBAAqB,EAAE,EAC/B,YAAY;AAAA,IACjB,SAAS,GAAP;AACA,aAAO;AAAA,IACT;AACA,QAAI,KAAK,QAAQ,aAAa,MAAM,KAAK,KAAK,QAAQ,WAAW,MAAM,KAAK,KAAK,QAAQ,OAAO,MAAM,GAAG;AACvG,aAAO;AAAA,IACT;AAAA,EACF;AACA,MAAI,QAAQ,CAAC,qBAAqB,KAAK,IAAI,GAAG;AAC5C,WAAO,WAAW,MAAM,IAAI;AAAA,EAC9B;AACA,MAAI;AACF,WAAO,UAAU,IAAI,EAAE,QAAQ,QAAQ,GAAG;AAAA,EAC5C,SAAS,GAAP;AACA,WAAO;AAAA,EACT;AACA,SAAO;AACT;AAEA,IAAM,WAAmC,CAAC;AAC1C,IAAM,aAAa;AACnB,IAAM,WAAW;AACjB,IAAM,SAAS;AAER,SAAS,WAAW,MAAc,MAAc;AACrD,MAAI,CAAC,SAAS,MAAM,IAAI,GAAG;AAIzB,QAAI,WAAW,KAAK,IAAI,GAAG;AACzB,eAAS,MAAM,IAAI,IAAI,OAAO;AAAA,IAChC,OAAO;AACL,eAAS,MAAM,IAAI,IAAI,MAAM,MAAM,KAAK,IAAI;AAAA,IAC9C;AAAA,EACF;AACA,SAAO,SAAS,MAAM,IAAI;AAC1B,QAAM,eAAe,KAAK,QAAQ,GAAG,MAAM;AAE3C,MAAI,KAAK,UAAU,GAAG,CAAC,MAAM,MAAM;AACjC,QAAI,cAAc;AAChB,aAAO;AAAA,IACT;AACA,WAAO,KAAK,QAAQ,UAAU,IAAI,IAAI;AAAA,EACxC,WAAW,KAAK,OAAO,CAAC,MAAM,KAAK;AACjC,QAAI,cAAc;AAChB,aAAO;AAAA,IACT;AACA,WAAO,KAAK,QAAQ,QAAQ,IAAI,IAAI;AAAA,EACtC,OAAO;AACL,WAAO,OAAO;AAAA,EAChB;AACF;AAEO,IAAM,WAAW,EAAE,MAAM,MAAM,KAAK;AAEpC,SAAS,WAAW,UAAkB,OAAe;AAG1D,QAAM,MAAM,SAAS,QAAQ,OAAO,CAAC,OAAO,QAAQ,QAAQ;AACxD,QAAI,UAAU,OACZ,OAAO;AACT,WAAO,EAAE,QAAQ,KAAK,IAAI,IAAI,MAAM;AAAM,gBAAU,CAAC;AACrD,QAAI,SAAS;AAGX,aAAO;AAAA,IACT,OAAO;AAEL,aAAO;AAAA,IACT;AAAA,EACF,CAAC,GACD,QAAQ,IAAI,MAAM,KAAK;AACzB,MAAI,IAAI;AAGR,MAAI,CAAC,MAAM,CAAC,EAAE,KAAK,GAAG;AACpB,UAAM,MAAM;AAAA,EACd;AACA,MAAI,MAAM,SAAS,KAAK,CAAC,MAAM,MAAM,SAAS,CAAC,EAAE,KAAK,GAAG;AACvD,UAAM,IAAI;AAAA,EACZ;AAEA,MAAI,MAAM,SAAS,OAAO;AACxB,UAAM,OAAO,KAAK;AAAA,EACpB,OAAO;AACL,WAAO,MAAM,SAAS;AAAO,YAAM,KAAK,EAAE;AAAA,EAC5C;AAEA,SAAO,IAAI,MAAM,QAAQ,KAAK;AAE5B,UAAM,CAAC,IAAI,MAAM,CAAC,EAAE,KAAK,EAAE,QAAQ,SAAS,GAAG;AAAA,EACjD;AACA,SAAO;AACT;AAUO,SAAS,MAAM,KAAa,GAAW,QAAkB;AAC9D,QAAM,IAAI,IAAI;AACd,MAAI,MAAM,GAAG;AACX,WAAO;AAAA,EACT;AAGA,MAAI,UAAU;AAGd,SAAO,UAAU,GAAG;AAClB,UAAM,WAAW,IAAI,OAAO,IAAI,UAAU,CAAC;AAC3C,QAAI,aAAa,KAAK,CAAC,QAAQ;AAC7B;AAAA,IACF,WAAW,aAAa,KAAK,QAAQ;AACnC;AAAA,IACF,OAAO;AACL;AAAA,IACF;AAAA,EACF;AAEA,SAAO,IAAI,MAAM,GAAG,IAAI,OAAO;AACjC;AAEO,SAAS,mBAAmB,KAAa,GAAW;AACzD,MAAI,IAAI,QAAQ,EAAE,CAAC,CAAC,MAAM,IAAI;AAC5B,WAAO;AAAA,EACT;AACA,QAAM,IAAI,IAAI;AACd,MAAI,QAAQ,GACV,IAAI;AACN,SAAO,IAAI,GAAG,KAAK;AACjB,QAAI,IAAI,CAAC,MAAM,MAAM;AACnB;AAAA,IACF,WAAW,IAAI,CAAC,MAAM,EAAE,CAAC,GAAG;AAC1B;AAAA,IACF,WAAW,IAAI,CAAC,MAAM,EAAE,CAAC,GAAG;AAC1B;AACA,UAAI,QAAQ,GAAG;AACb,eAAO;AAAA,MACT;AAAA,IACF;AAAA,EACF;AACA,SAAO;AACT;AAEO,SAAS,kBAAkB,KAAoB,UAA2B;AAC/E,MAAI,CAAC,OAAO,IAAI,QAAQ;AACtB;AAAA,EACF;AAEA,MAAI,UAAU;AACZ,YAAQ,KAAK,mKAAmK;AAAA,EAClL;AAEA,MAAI,IAAI,YAAY,IAAI,WAAW;AACjC,YAAQ,KAAK,yMAAyM;AAAA,EACxN;AAEA,MAAI,IAAI,aAAa,IAAI,eAAe,aAAa;AACnD,YAAQ,KAAK,qMAAqM;AAAA,EACpN;AAEA,MAAI,IAAI,QAAQ;AACd,YAAQ,KAAK,kPAAkP;AAAA,EACjQ;AAEA,MAAI,IAAI,SAAS;AACf,YAAQ,KAAK,iLAAiL;AAAA,EAChM;AAEA,MAAI,IAAI,aAAa;AACnB,YAAQ,KAAK,wLAAwL;AAAA,EACvM;AAEA,MAAI,IAAI,OAAO;AACb,YAAQ,KAAK,4KAA4K;AAAA,EAC3L;AAEA,MAAI,IAAI,aAAa,IAAI,cAAc;AACrC,YAAQ,KAAK,iRAAiR;AAAA,EAChS;AACF;;;AC5PA,SAAS,WAAW,KAAe,MAA2C,KAAaA,QAA2C;AACpI,QAAM,OAAO,KAAK;AAClB,QAAM,QAAQ,KAAK,QAAQ,OAAO,KAAK,KAAK,IAAI;AAChD,QAAM,OAAO,IAAI,CAAC,EAAE,QAAQ,eAAe,IAAI;AAE/C,MAAI,IAAI,CAAC,EAAE,OAAO,CAAC,MAAM,KAAK;AAC5B,IAAAA,OAAM,MAAM,SAAS;AACrB,UAAM,QAAqB;AAAA,MACzB,MAAM;AAAA,MACN;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,QAAQA,OAAM,aAAa,IAAI;AAAA,IACjC;AACA,IAAAA,OAAM,MAAM,SAAS;AACrB,WAAO;AAAA,EACT;AACA,SAAO;AAAA,IACL,MAAM;AAAA,IACN;AAAA,IACA;AAAA,IACA;AAAA,IACA,MAAM,OAAO,IAAI;AAAA,EACnB;AACF;AAEA,SAAS,uBAAuB,KAAa,MAAc;AACzD,QAAM,oBAAoB,IAAI,MAAM,eAAe;AAEnD,MAAI,sBAAsB,MAAM;AAC9B,WAAO;AAAA,EACT;AAEA,QAAM,eAAe,kBAAkB,CAAC;AAExC,SAAO,KACJ,MAAM,IAAI,EACV,IAAI,UAAQ;AACX,UAAM,oBAAoB,KAAK,MAAM,MAAM;AAC3C,QAAI,sBAAsB,MAAM;AAC9B,aAAO;AAAA,IACT;AAEA,UAAM,CAAC,YAAY,IAAI;AAEvB,QAAI,aAAa,UAAU,aAAa,QAAQ;AAC9C,aAAO,KAAK,MAAM,aAAa,MAAM;AAAA,IACvC;AAEA,WAAO;AAAA,EACT,CAAC,EACA,KAAK,IAAI;AACd;AAKO,IAAM,aAAN,MAAiB;AAAA,EAKtB,YAAYC,UAAyB;AACnC,SAAK,UAAUA,YAAW;AAAA,EAC5B;AAAA,EAEA,MAAM,KAAuC;AAC3C,UAAM,MAAM,KAAK,MAAM,MAAM,QAAQ,KAAK,GAAG;AAC7C,QAAI,OAAO,IAAI,CAAC,EAAE,SAAS,GAAG;AAC5B,aAAO;AAAA,QACL,MAAM;AAAA,QACN,KAAK,IAAI,CAAC;AAAA,MACZ;AAAA,IACF;AAAA,EACF;AAAA,EAEA,KAAK,KAAsC;AACzC,UAAM,MAAM,KAAK,MAAM,MAAM,KAAK,KAAK,GAAG;AAC1C,QAAI,KAAK;AACP,YAAM,OAAO,IAAI,CAAC,EAAE,QAAQ,aAAa,EAAE;AAC3C,aAAO;AAAA,QACL,MAAM;AAAA,QACN,KAAK,IAAI,CAAC;AAAA,QACV,gBAAgB;AAAA,QAChB,MAAM,CAAC,KAAK,QAAQ,WAChB,MAAM,MAAM,IAAI,IAChB;AAAA,MACN;AAAA,IACF;AAAA,EACF;AAAA,EAEA,OAAO,KAAsC;AAC3C,UAAM,MAAM,KAAK,MAAM,MAAM,OAAO,KAAK,GAAG;AAC5C,QAAI,KAAK;AACP,YAAM,MAAM,IAAI,CAAC;AACjB,YAAM,OAAO,uBAAuB,KAAK,IAAI,CAAC,KAAK,EAAE;AAErD,aAAO;AAAA,QACL,MAAM;AAAA,QACN;AAAA,QACA,MAAM,IAAI,CAAC,IAAI,IAAI,CAAC,EAAE,KAAK,EAAE,QAAQ,KAAK,MAAM,OAAO,UAAU,IAAI,IAAI,IAAI,CAAC;AAAA,QAC9E;AAAA,MACF;AAAA,IACF;AAAA,EACF;AAAA,EAEA,QAAQ,KAAyC;AAC/C,UAAM,MAAM,KAAK,MAAM,MAAM,QAAQ,KAAK,GAAG;AAC7C,QAAI,KAAK;AACP,UAAI,OAAO,IAAI,CAAC,EAAE,KAAK;AAGvB,UAAI,KAAK,KAAK,IAAI,GAAG;AACnB,cAAM,UAAU,MAAM,MAAM,GAAG;AAC/B,YAAI,KAAK,QAAQ,UAAU;AACzB,iBAAO,QAAQ,KAAK;AAAA,QACtB,WAAW,CAAC,WAAW,KAAK,KAAK,OAAO,GAAG;AAEzC,iBAAO,QAAQ,KAAK;AAAA,QACtB;AAAA,MACF;AAEA,aAAO;AAAA,QACL,MAAM;AAAA,QACN,KAAK,IAAI,CAAC;AAAA,QACV,OAAO,IAAI,CAAC,EAAE;AAAA,QACd;AAAA,QACA,QAAQ,KAAK,MAAM,OAAO,IAAI;AAAA,MAChC;AAAA,IACF;AAAA,EACF;AAAA,EAEA,GAAG,KAAoC;AACrC,UAAM,MAAM,KAAK,MAAM,MAAM,GAAG,KAAK,GAAG;AACxC,QAAI,KAAK;AACP,aAAO;AAAA,QACL,MAAM;AAAA,QACN,KAAK,IAAI,CAAC;AAAA,MACZ;AAAA,IACF;AAAA,EACF;AAAA,EAEA,WAAW,KAA4C;AACrD,UAAM,MAAM,KAAK,MAAM,MAAM,WAAW,KAAK,GAAG;AAChD,QAAI,KAAK;AACP,YAAM,OAAO,IAAI,CAAC,EAAE,QAAQ,gBAAgB,EAAE;AAC9C,YAAM,MAAM,KAAK,MAAM,MAAM;AAC7B,WAAK,MAAM,MAAM,MAAM;AACvB,YAAM,SAAS,KAAK,MAAM,YAAY,IAAI;AAC1C,WAAK,MAAM,MAAM,MAAM;AACvB,aAAO;AAAA,QACL,MAAM;AAAA,QACN,KAAK,IAAI,CAAC;AAAA,QACV;AAAA,QACA;AAAA,MACF;AAAA,IACF;AAAA,EACF;AAAA,EAEA,KAAK,KAAsC;AACzC,QAAI,MAAM,KAAK,MAAM,MAAM,KAAK,KAAK,GAAG;AACxC,QAAI,KAAK;AACP,UAAI,KAAK,QAAQ,WAAW,QAAQ,GAAG,WAAW,mBAChD,MAAM,UAAU,SAAS,cAAc;AAEzC,UAAI,OAAO,IAAI,CAAC,EAAE,KAAK;AACvB,YAAM,YAAY,KAAK,SAAS;AAEhC,YAAM,OAAoB;AAAA,QACxB,MAAM;AAAA,QACN,KAAK;AAAA,QACL,SAAS;AAAA,QACT,OAAO,YAAY,CAAC,KAAK,MAAM,GAAG,EAAE,IAAI;AAAA,QACxC,OAAO;AAAA,QACP,OAAO,CAAC;AAAA,MACV;AAEA,aAAO,YAAY,aAAa,KAAK,MAAM,EAAE,MAAM,KAAK;AAExD,UAAI,KAAK,QAAQ,UAAU;AACzB,eAAO,YAAY,OAAO;AAAA,MAC5B;AAGA,YAAM,YAAY,IAAI,OAAO,WAAW,kCAAmC;AAG3E,aAAO,KAAK;AACV,mBAAW;AACX,YAAI,EAAE,MAAM,UAAU,KAAK,GAAG,IAAI;AAChC;AAAA,QACF;AAEA,YAAI,KAAK,MAAM,MAAM,GAAG,KAAK,GAAG,GAAG;AACjC;AAAA,QACF;AAEA,cAAM,IAAI,CAAC;AACX,cAAM,IAAI,UAAU,IAAI,MAAM;AAE9B,eAAO,IAAI,CAAC,EAAE,MAAM,MAAM,CAAC,EAAE,CAAC,EAAE,QAAQ,QAAQ,CAAC,MAAc,IAAI,OAAO,IAAI,EAAE,MAAM,CAAC;AACvF,mBAAW,IAAI,MAAM,MAAM,CAAC,EAAE,CAAC;AAE/B,YAAI,KAAK,QAAQ,UAAU;AACzB,mBAAS;AACT,yBAAe,KAAK,SAAS;AAAA,QAC/B,OAAO;AACL,mBAAS,IAAI,CAAC,EAAE,OAAO,MAAM;AAC7B,mBAAS,SAAS,IAAI,IAAI;AAC1B,yBAAe,KAAK,MAAM,MAAM;AAChC,oBAAU,IAAI,CAAC,EAAE;AAAA,QACnB;AAEA,oBAAY;AAEZ,YAAI,CAAC,QAAQ,OAAO,KAAK,QAAQ,GAAG;AAClC,iBAAO,WAAW;AAClB,gBAAM,IAAI,UAAU,SAAS,SAAS,CAAC;AACvC,qBAAW;AAAA,QACb;AAEA,YAAI,CAAC,UAAU;AACb,gBAAM,kBAAkB,IAAI,OAAO,QAAQ,KAAK,IAAI,GAAG,SAAS,CAAC,qDAAsD;AACvH,gBAAM,UAAU,IAAI,OAAO,QAAQ,KAAK,IAAI,GAAG,SAAS,CAAC,qDAAqD;AAC9G,gBAAM,mBAAmB,IAAI,OAAO,QAAQ,KAAK,IAAI,GAAG,SAAS,CAAC,kBAAkB;AACpF,gBAAM,oBAAoB,IAAI,OAAO,QAAQ,KAAK,IAAI,GAAG,SAAS,CAAC,KAAK;AAGxE,iBAAO,KAAK;AACV,sBAAU,IAAI,MAAM,MAAM,CAAC,EAAE,CAAC;AAC9B,uBAAW;AAGX,gBAAI,KAAK,QAAQ,UAAU;AACzB,yBAAW,SAAS,QAAQ,2BAA2B,IAAI;AAAA,YAC7D;AAGA,gBAAI,iBAAiB,KAAK,QAAQ,GAAG;AACnC;AAAA,YACF;AAGA,gBAAI,kBAAkB,KAAK,QAAQ,GAAG;AACpC;AAAA,YACF;AAGA,gBAAI,gBAAgB,KAAK,QAAQ,GAAG;AAClC;AAAA,YACF;AAGA,gBAAI,QAAQ,KAAK,GAAG,GAAG;AACrB;AAAA,YACF;AAEA,gBAAI,SAAS,OAAO,MAAM,KAAK,UAAU,CAAC,SAAS,KAAK,GAAG;AACzD,8BAAgB,OAAO,SAAS,MAAM,MAAM;AAAA,YAC9C,OAAO;AAEL,kBAAI,WAAW;AACb;AAAA,cACF;AAGA,kBAAI,KAAK,OAAO,MAAM,KAAK,GAAG;AAC5B;AAAA,cACF;AACA,kBAAI,iBAAiB,KAAK,IAAI,GAAG;AAC/B;AAAA,cACF;AACA,kBAAI,kBAAkB,KAAK,IAAI,GAAG;AAChC;AAAA,cACF;AACA,kBAAI,QAAQ,KAAK,IAAI,GAAG;AACtB;AAAA,cACF;AAEA,8BAAgB,OAAO;AAAA,YACzB;AAEA,gBAAI,CAAC,aAAa,CAAC,SAAS,KAAK,GAAG;AAClC,0BAAY;AAAA,YACd;AAEA,mBAAO,UAAU;AACjB,kBAAM,IAAI,UAAU,QAAQ,SAAS,CAAC;AACtC,mBAAO,SAAS,MAAM,MAAM;AAAA,UAC9B;AAAA,QACF;AAEA,YAAI,CAAC,KAAK,OAAO;AAEf,cAAI,mBAAmB;AACrB,iBAAK,QAAQ;AAAA,UACf,WAAW,YAAY,KAAK,GAAG,GAAG;AAChC,gCAAoB;AAAA,UACtB;AAAA,QACF;AAGA,YAAI,KAAK,QAAQ,KAAK;AACpB,mBAAS,cAAc,KAAK,YAAY;AACxC,cAAI,QAAQ;AACV,wBAAY,OAAO,CAAC,MAAM;AAC1B,2BAAe,aAAa,QAAQ,gBAAgB,EAAE;AAAA,UACxD;AAAA,QACF;AAEA,aAAK,MAAM,KAAK;AAAA,UACd,MAAM;AAAA,UACN;AAAA,UACA,MAAM,CAAC,CAAC;AAAA,UACR,SAAS;AAAA,UACT,OAAO;AAAA,UACP,MAAM;AAAA,QACR,CAAC;AAED,aAAK,OAAO;AAAA,MACd;AAGA,WAAK,MAAM,KAAK,MAAM,SAAS,CAAC,EAAE,MAAM,IAAI,UAAU;AACtD,MAAC,KAAK,MAAM,KAAK,MAAM,SAAS,CAAC,EAAsB,OAAO,aAAa,UAAU;AACrF,WAAK,MAAM,KAAK,IAAI,UAAU;AAE9B,YAAM,IAAI,KAAK,MAAM;AAGrB,WAAK,IAAI,GAAG,IAAI,GAAG,KAAK;AACtB,aAAK,MAAM,MAAM,MAAM;AACvB,aAAK,MAAM,CAAC,EAAE,SAAS,KAAK,MAAM,YAAY,KAAK,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC;AAEpE,YAAI,CAAC,KAAK,OAAO;AAEf,gBAAM,UAAU,KAAK,MAAM,CAAC,EAAE,OAAQ,OAAO,OAAK,EAAE,SAAS,OAAO;AACpE,gBAAM,wBAAwB,QAAQ,SAAS,KAAK,QAAQ,KAAK,OAAK,SAAS,KAAK,EAAE,GAAI,CAAC;AAE3F,eAAK,QAAQ;AAAA,QACf;AAAA,MACF;AAGA,UAAI,KAAK,OAAO;AACd,aAAK,IAAI,GAAG,IAAI,GAAG,KAAK;AACtB,eAAK,MAAM,CAAC,EAAE,QAAQ;AAAA,QACxB;AAAA,MACF;AAEA,aAAO;AAAA,IACT;AAAA,EACF;AAAA,EAEA,KAAK,KAAyD;AAC5D,UAAM,MAAM,KAAK,MAAM,MAAM,KAAK,KAAK,GAAG;AAC1C,QAAI,KAAK;AACP,YAAM,QAAwC;AAAA,QAC5C,MAAM;AAAA,QACN,OAAO;AAAA,QACP,KAAK,IAAI,CAAC;AAAA,QACV,KAAK,CAAC,KAAK,QAAQ,cACb,IAAI,CAAC,MAAM,SAAS,IAAI,CAAC,MAAM,YAAY,IAAI,CAAC,MAAM;AAAA,QAC5D,MAAM,IAAI,CAAC;AAAA,MACb;AACA,UAAI,KAAK,QAAQ,UAAU;AACzB,cAAM,OAAO,KAAK,QAAQ,YAAY,KAAK,QAAQ,UAAU,IAAI,CAAC,CAAC,IAAI,OAAO,IAAI,CAAC,CAAC;AACpF,cAAM,YAAY;AAClB,kBAAU,OAAO;AACjB,kBAAU,OAAO;AACjB,kBAAU,SAAS,KAAK,MAAM,OAAO,IAAI;AAAA,MAC3C;AACA,aAAO;AAAA,IACT;AAAA,EACF;AAAA,EAEA,IAAI,KAAqC;AACvC,UAAM,MAAM,KAAK,MAAM,MAAM,IAAI,KAAK,GAAG;AACzC,QAAI,KAAK;AACP,YAAM,MAAM,IAAI,CAAC,EAAE,YAAY,EAAE,QAAQ,QAAQ,GAAG;AACpD,YAAM,OAAO,IAAI,CAAC,IAAI,IAAI,CAAC,EAAE,QAAQ,YAAY,IAAI,EAAE,QAAQ,KAAK,MAAM,OAAO,UAAU,IAAI,IAAI;AACnG,YAAM,QAAQ,IAAI,CAAC,IAAI,IAAI,CAAC,EAAE,UAAU,GAAG,IAAI,CAAC,EAAE,SAAS,CAAC,EAAE,QAAQ,KAAK,MAAM,OAAO,UAAU,IAAI,IAAI,IAAI,CAAC;AAC/G,aAAO;AAAA,QACL,MAAM;AAAA,QACN;AAAA,QACA,KAAK,IAAI,CAAC;AAAA,QACV;AAAA,QACA;AAAA,MACF;AAAA,IACF;AAAA,EACF;AAAA,EAEA,MAAM,KAAuC;AAC3C,UAAM,MAAM,KAAK,MAAM,MAAM,MAAM,KAAK,GAAG;AAC3C,QAAI,KAAK;AACP,YAAM,OAAqB;AAAA,QACzB,MAAM;AAAA;AAAA;AAAA,QAGN,QAAQ,WAAW,IAAI,CAAC,CAAC,EAAE,IAAI,OAAK;AAClC,iBAAO,EAAE,MAAM,EAAE;AAAA,QACnB,CAAC;AAAA,QACD,OAAO,IAAI,CAAC,EAAE,QAAQ,cAAc,EAAE,EAAE,MAAM,QAAQ;AAAA,QACtD,MAAM,IAAI,CAAC,KAAK,IAAI,CAAC,EAAE,KAAK,IAAI,IAAI,CAAC,EAAE,QAAQ,aAAa,EAAE,EAAE,MAAM,IAAI,IAAI,CAAC;AAAA,MACjF;AAEA,UAAI,KAAK,OAAO,WAAW,KAAK,MAAM,QAAQ;AAC5C,aAAK,MAAM,IAAI,CAAC;AAEhB,YAAI,IAAI,KAAK,MAAM;AACnB,YAAI,GAAG,GAAG,GAAG;AACb,aAAK,IAAI,GAAG,IAAI,GAAG,KAAK;AACtB,cAAI,YAAY,KAAK,KAAK,MAAM,CAAC,CAAE,GAAG;AACpC,iBAAK,MAAM,CAAC,IAAI;AAAA,UAClB,WAAW,aAAa,KAAK,KAAK,MAAM,CAAC,CAAE,GAAG;AAC5C,iBAAK,MAAM,CAAC,IAAI;AAAA,UAClB,WAAW,YAAY,KAAK,KAAK,MAAM,CAAC,CAAE,GAAG;AAC3C,iBAAK,MAAM,CAAC,IAAI;AAAA,UAClB,OAAO;AACL,iBAAK,MAAM,CAAC,IAAI;AAAA,UAClB;AAAA,QACF;AAEA,YAAI,KAAK,KAAK;AACd,aAAK,IAAI,GAAG,IAAI,GAAG,KAAK;AACtB,eAAK,KAAK,CAAC,IAAI,WAAW,KAAK,KAAK,CAAC,GAAwB,KAAK,OAAO,MAAM,EAAE,IAAI,OAAK;AACxF,mBAAO,EAAE,MAAM,EAAE;AAAA,UACnB,CAAC;AAAA,QACH;AAKA,YAAI,KAAK,OAAO;AAChB,aAAK,IAAI,GAAG,IAAI,GAAG,KAAK;AACtB,eAAK,OAAO,CAAC,EAAE,SAAS,KAAK,MAAM,OAAO,KAAK,OAAO,CAAC,EAAE,IAAI;AAAA,QAC/D;AAGA,YAAI,KAAK,KAAK;AACd,aAAK,IAAI,GAAG,IAAI,GAAG,KAAK;AACtB,gBAAM,KAAK,KAAK,CAAC;AACjB,eAAK,IAAI,GAAG,IAAI,IAAI,QAAQ,KAAK;AAC/B,gBAAI,CAAC,EAAE,SAAS,KAAK,MAAM,OAAO,IAAI,CAAC,EAAE,IAAI;AAAA,UAC/C;AAAA,QACF;AAEA,eAAO;AAAA,MACT;AAAA,IACF;AAAA,EACF;AAAA,EAEA,SAAS,KAAyC;AAChD,UAAM,MAAM,KAAK,MAAM,MAAM,SAAS,KAAK,GAAG;AAC9C,QAAI,KAAK;AACP,aAAO;AAAA,QACL,MAAM;AAAA,QACN,KAAK,IAAI,CAAC;AAAA,QACV,OAAO,IAAI,CAAC,EAAE,OAAO,CAAC,MAAM,MAAM,IAAI;AAAA,QACtC,MAAM,IAAI,CAAC;AAAA,QACX,QAAQ,KAAK,MAAM,OAAO,IAAI,CAAC,CAAC;AAAA,MAClC;AAAA,IACF;AAAA,EACF;AAAA,EAEA,UAAU,KAA2C;AACnD,UAAM,MAAM,KAAK,MAAM,MAAM,UAAU,KAAK,GAAG;AAC/C,QAAI,KAAK;AACP,YAAM,OAAO,IAAI,CAAC,EAAE,OAAO,IAAI,CAAC,EAAE,SAAS,CAAC,MAAM,OAC9C,IAAI,CAAC,EAAE,MAAM,GAAG,EAAE,IAClB,IAAI,CAAC;AACT,aAAO;AAAA,QACL,MAAM;AAAA,QACN,KAAK,IAAI,CAAC;AAAA,QACV;AAAA,QACA,QAAQ,KAAK,MAAM,OAAO,IAAI;AAAA,MAChC;AAAA,IACF;AAAA,EACF;AAAA,EAEA,KAAK,KAAsC;AACzC,UAAM,MAAM,KAAK,MAAM,MAAM,KAAK,KAAK,GAAG;AAC1C,QAAI,KAAK;AACP,aAAO;AAAA,QACL,MAAM;AAAA,QACN,KAAK,IAAI,CAAC;AAAA,QACV,MAAM,IAAI,CAAC;AAAA,QACX,QAAQ,KAAK,MAAM,OAAO,IAAI,CAAC,CAAC;AAAA,MAClC;AAAA,IACF;AAAA,EACF;AAAA,EAEA,OAAO,KAAwC;AAC7C,UAAM,MAAM,KAAK,MAAM,OAAO,OAAO,KAAK,GAAG;AAC7C,QAAI,KAAK;AACP,aAAO;AAAA,QACL,MAAM;AAAA,QACN,KAAK,IAAI,CAAC;AAAA,QACV,MAAM,OAAO,IAAI,CAAC,CAAC;AAAA,MACrB;AAAA,IACF;AAAA,EACF;AAAA,EAEA,IAAI,KAAqC;AACvC,UAAM,MAAM,KAAK,MAAM,OAAO,IAAI,KAAK,GAAG;AAC1C,QAAI,KAAK;AACP,UAAI,CAAC,KAAK,MAAM,MAAM,UAAU,QAAQ,KAAK,IAAI,CAAC,CAAC,GAAG;AACpD,aAAK,MAAM,MAAM,SAAS;AAAA,MAC5B,WAAW,KAAK,MAAM,MAAM,UAAU,UAAU,KAAK,IAAI,CAAC,CAAC,GAAG;AAC5D,aAAK,MAAM,MAAM,SAAS;AAAA,MAC5B;AACA,UAAI,CAAC,KAAK,MAAM,MAAM,cAAc,iCAAiC,KAAK,IAAI,CAAC,CAAC,GAAG;AACjF,aAAK,MAAM,MAAM,aAAa;AAAA,MAChC,WAAW,KAAK,MAAM,MAAM,cAAc,mCAAmC,KAAK,IAAI,CAAC,CAAC,GAAG;AACzF,aAAK,MAAM,MAAM,aAAa;AAAA,MAChC;AAEA,aAAO;AAAA,QACL,MAAM,KAAK,QAAQ,WACf,SACA;AAAA,QACJ,KAAK,IAAI,CAAC;AAAA,QACV,QAAQ,KAAK,MAAM,MAAM;AAAA,QACzB,YAAY,KAAK,MAAM,MAAM;AAAA,QAC7B,OAAO;AAAA,QACP,MAAM,KAAK,QAAQ,WACd,KAAK,QAAQ,YACZ,KAAK,QAAQ,UAAU,IAAI,CAAC,CAAC,IAC7B,OAAO,IAAI,CAAC,CAAC,IACf,IAAI,CAAC;AAAA,MACX;AAAA,IACF;AAAA,EACF;AAAA,EAEA,KAAK,KAAqD;AACxD,UAAM,MAAM,KAAK,MAAM,OAAO,KAAK,KAAK,GAAG;AAC3C,QAAI,KAAK;AACP,YAAM,aAAa,IAAI,CAAC,EAAE,KAAK;AAC/B,UAAI,CAAC,KAAK,QAAQ,YAAY,KAAK,KAAK,UAAU,GAAG;AAEnD,YAAI,CAAE,KAAK,KAAK,UAAU,GAAI;AAC5B;AAAA,QACF;AAGA,cAAM,aAAa,MAAM,WAAW,MAAM,GAAG,EAAE,GAAG,IAAI;AACtD,aAAK,WAAW,SAAS,WAAW,UAAU,MAAM,GAAG;AACrD;AAAA,QACF;AAAA,MACF,OAAO;AAEL,cAAM,iBAAiB,mBAAmB,IAAI,CAAC,GAAG,IAAI;AACtD,YAAI,iBAAiB,IAAI;AACvB,gBAAM,QAAQ,IAAI,CAAC,EAAE,QAAQ,GAAG,MAAM,IAAI,IAAI;AAC9C,gBAAM,UAAU,QAAQ,IAAI,CAAC,EAAE,SAAS;AACxC,cAAI,CAAC,IAAI,IAAI,CAAC,EAAE,UAAU,GAAG,cAAc;AAC3C,cAAI,CAAC,IAAI,IAAI,CAAC,EAAE,UAAU,GAAG,OAAO,EAAE,KAAK;AAC3C,cAAI,CAAC,IAAI;AAAA,QACX;AAAA,MACF;AACA,UAAI,OAAO,IAAI,CAAC;AAChB,UAAI,QAAQ;AACZ,UAAI,KAAK,QAAQ,UAAU;AAEzB,cAAM,OAAO,gCAAgC,KAAK,IAAI;AAEtD,YAAI,MAAM;AACR,iBAAO,KAAK,CAAC;AACb,kBAAQ,KAAK,CAAC;AAAA,QAChB;AAAA,MACF,OAAO;AACL,gBAAQ,IAAI,CAAC,IAAI,IAAI,CAAC,EAAE,MAAM,GAAG,EAAE,IAAI;AAAA,MACzC;AAEA,aAAO,KAAK,KAAK;AACjB,UAAI,KAAK,KAAK,IAAI,GAAG;AACnB,YAAI,KAAK,QAAQ,YAAY,CAAE,KAAK,KAAK,UAAU,GAAI;AAErD,iBAAO,KAAK,MAAM,CAAC;AAAA,QACrB,OAAO;AACL,iBAAO,KAAK,MAAM,GAAG,EAAE;AAAA,QACzB;AAAA,MACF;AACA,aAAO,WAAW,KAAK;AAAA,QACrB,MAAM,OAAO,KAAK,QAAQ,KAAK,MAAM,OAAO,UAAU,IAAI,IAAI;AAAA,QAC9D,OAAO,QAAQ,MAAM,QAAQ,KAAK,MAAM,OAAO,UAAU,IAAI,IAAI;AAAA,MACnE,GAAG,IAAI,CAAC,GAAG,KAAK,KAAK;AAAA,IACvB;AAAA,EACF;AAAA,EAEA,QAAQ,KAAa,OAAoE;AACvF,QAAI;AACJ,SAAK,MAAM,KAAK,MAAM,OAAO,QAAQ,KAAK,GAAG,OACvC,MAAM,KAAK,MAAM,OAAO,OAAO,KAAK,GAAG,IAAI;AAC/C,UAAI,QAAQ,IAAI,CAAC,KAAK,IAAI,CAAC,GAAG,QAAQ,QAAQ,GAAG;AACjD,aAAO,MAAM,KAAK,YAAY,CAAC;AAC/B,UAAI,CAAC,MAAM;AACT,cAAM,OAAO,IAAI,CAAC,EAAE,OAAO,CAAC;AAC5B,eAAO;AAAA,UACL,MAAM;AAAA,UACN,KAAK;AAAA,UACL;AAAA,QACF;AAAA,MACF;AACA,aAAO,WAAW,KAAK,MAAM,IAAI,CAAC,GAAG,KAAK,KAAK;AAAA,IACjD;AAAA,EACF;AAAA,EAEA,SAAS,KAAa,WAAmB,WAAW,IAA2C;AAC7F,QAAI,QAAQ,KAAK,MAAM,OAAO,SAAS,OAAO,KAAK,GAAG;AACtD,QAAI,CAAC;AAAO;AAGZ,QAAI,MAAM,CAAC,KAAK,SAAS,MAAM,eAAe;AAAG;AAEjD,UAAM,WAAW,MAAM,CAAC,KAAK,MAAM,CAAC,KAAK;AAEzC,QAAI,CAAC,YAAY,CAAC,YAAY,KAAK,MAAM,OAAO,YAAY,KAAK,QAAQ,GAAG;AAC1E,YAAM,UAAU,MAAM,CAAC,EAAE,SAAS;AAClC,UAAI,QAAQ,SAAS,aAAa,SAAS,gBAAgB;AAE3D,YAAM,SAAS,MAAM,CAAC,EAAE,CAAC,MAAM,MAAM,KAAK,MAAM,OAAO,SAAS,YAAY,KAAK,MAAM,OAAO,SAAS;AACvG,aAAO,YAAY;AAGnB,kBAAY,UAAU,MAAM,KAAK,IAAI,SAAS,OAAO;AAErD,cAAQ,QAAQ,OAAO,KAAK,SAAS,MAAM,MAAM;AAC/C,iBAAS,MAAM,CAAC,KAAK,MAAM,CAAC,KAAK,MAAM,CAAC,KAAK,MAAM,CAAC,KAAK,MAAM,CAAC,KAAK,MAAM,CAAC;AAE5E,YAAI,CAAC;AAAQ;AAEb,kBAAU,OAAO;AAEjB,YAAI,MAAM,CAAC,KAAK,MAAM,CAAC,GAAG;AACxB,wBAAc;AACd;AAAA,QACF,WAAW,MAAM,CAAC,KAAK,MAAM,CAAC,GAAG;AAC/B,cAAI,UAAU,KAAK,GAAG,UAAU,WAAW,IAAI;AAC7C,6BAAiB;AACjB;AAAA,UACF;AAAA,QACF;AAEA,sBAAc;AAEd,YAAI,aAAa;AAAG;AAGpB,kBAAU,KAAK,IAAI,SAAS,UAAU,aAAa,aAAa;AAEhE,cAAM,MAAM,IAAI,MAAM,GAAG,UAAU,MAAM,QAAQ,UAAU,CAAC;AAG5D,YAAI,KAAK,IAAI,SAAS,OAAO,IAAI,GAAG;AAClC,gBAAMC,QAAO,IAAI,MAAM,GAAG,EAAE;AAC5B,iBAAO;AAAA,YACL,MAAM;AAAA,YACN;AAAA,YACA,MAAAA;AAAA,YACA,QAAQ,KAAK,MAAM,aAAaA,KAAI;AAAA,UACtC;AAAA,QACF;AAGA,cAAM,OAAO,IAAI,MAAM,GAAG,EAAE;AAC5B,eAAO;AAAA,UACL,MAAM;AAAA,UACN;AAAA,UACA;AAAA,UACA,QAAQ,KAAK,MAAM,aAAa,IAAI;AAAA,QACtC;AAAA,MACF;AAAA,IACF;AAAA,EACF;AAAA,EAEA,SAAS,KAA0C;AACjD,UAAM,MAAM,KAAK,MAAM,OAAO,KAAK,KAAK,GAAG;AAC3C,QAAI,KAAK;AACP,UAAI,OAAO,IAAI,CAAC,EAAE,QAAQ,OAAO,GAAG;AACpC,YAAM,mBAAmB,OAAO,KAAK,IAAI;AACzC,YAAM,0BAA0B,KAAK,KAAK,IAAI,KAAK,KAAK,KAAK,IAAI;AACjE,UAAI,oBAAoB,yBAAyB;AAC/C,eAAO,KAAK,UAAU,GAAG,KAAK,SAAS,CAAC;AAAA,MAC1C;AACA,aAAO,OAAO,MAAM,IAAI;AACxB,aAAO;AAAA,QACL,MAAM;AAAA,QACN,KAAK,IAAI,CAAC;AAAA,QACV;AAAA,MACF;AAAA,IACF;AAAA,EACF;AAAA,EAEA,GAAG,KAAoC;AACrC,UAAM,MAAM,KAAK,MAAM,OAAO,GAAG,KAAK,GAAG;AACzC,QAAI,KAAK;AACP,aAAO;AAAA,QACL,MAAM;AAAA,QACN,KAAK,IAAI,CAAC;AAAA,MACZ;AAAA,IACF;AAAA,EACF;AAAA,EAEA,IAAI,KAAqC;AACvC,UAAM,MAAM,KAAK,MAAM,OAAO,IAAI,KAAK,GAAG;AAC1C,QAAI,KAAK;AACP,aAAO;AAAA,QACL,MAAM;AAAA,QACN,KAAK,IAAI,CAAC;AAAA,QACV,MAAM,IAAI,CAAC;AAAA,QACX,QAAQ,KAAK,MAAM,aAAa,IAAI,CAAC,CAAC;AAAA,MACxC;AAAA,IACF;AAAA,EACF;AAAA,EAEA,SAAS,KAAaC,SAA0D;AAC9E,UAAM,MAAM,KAAK,MAAM,OAAO,SAAS,KAAK,GAAG;AAC/C,QAAI,KAAK;AACP,UAAI,MAAM;AACV,UAAI,IAAI,CAAC,MAAM,KAAK;AAClB,eAAO,OAAO,KAAK,QAAQ,SAASA,QAAO,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC;AAC3D,eAAO,YAAY;AAAA,MACrB,OAAO;AACL,eAAO,OAAO,IAAI,CAAC,CAAC;AACpB,eAAO;AAAA,MACT;AAEA,aAAO;AAAA,QACL,MAAM;AAAA,QACN,KAAK,IAAI,CAAC;AAAA,QACV;AAAA,QACA;AAAA,QACA,QAAQ;AAAA,UACN;AAAA,YACE,MAAM;AAAA,YACN,KAAK;AAAA,YACL;AAAA,UACF;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAAA,EACF;AAAA,EAEA,IAAI,KAAaA,SAA0D;AACzE,QAAI;AACJ,QAAI,MAAM,KAAK,MAAM,OAAO,IAAI,KAAK,GAAG,GAAG;AACzC,UAAI,MAAM;AACV,UAAI,IAAI,CAAC,MAAM,KAAK;AAClB,eAAO,OAAO,KAAK,QAAQ,SAASA,QAAO,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC;AAC3D,eAAO,YAAY;AAAA,MACrB,OAAO;AAEL,YAAI;AACJ,WAAG;AACD,wBAAc,IAAI,CAAC;AACnB,cAAI,CAAC,IAAI,KAAK,MAAM,OAAO,WAAW,KAAK,IAAI,CAAC,CAAC,EAAE,CAAC;AAAA,QACtD,SAAS,gBAAgB,IAAI,CAAC;AAC9B,eAAO,OAAO,IAAI,CAAC,CAAC;AACpB,YAAI,IAAI,CAAC,MAAM,QAAQ;AACrB,iBAAO,YAAY,IAAI,CAAC;AAAA,QAC1B,OAAO;AACL,iBAAO,IAAI,CAAC;AAAA,QACd;AAAA,MACF;AACA,aAAO;AAAA,QACL,MAAM;AAAA,QACN,KAAK,IAAI,CAAC;AAAA,QACV;AAAA,QACA;AAAA,QACA,QAAQ;AAAA,UACN;AAAA,YACE,MAAM;AAAA,YACN,KAAK;AAAA,YACL;AAAA,UACF;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAAA,EACF;AAAA,EAEA,WAAW,KAAaC,cAA+D;AACrF,UAAM,MAAM,KAAK,MAAM,OAAO,KAAK,KAAK,GAAG;AAC3C,QAAI,KAAK;AACP,UAAI;AACJ,UAAI,KAAK,MAAM,MAAM,YAAY;AAC/B,eAAO,KAAK,QAAQ,WAAY,KAAK,QAAQ,YAAY,KAAK,QAAQ,UAAU,IAAI,CAAC,CAAC,IAAI,OAAO,IAAI,CAAC,CAAC,IAAK,IAAI,CAAC;AAAA,MACnH,OAAO;AACL,eAAO,OAAO,KAAK,QAAQ,cAAcA,aAAY,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC;AAAA,MACvE;AACA,aAAO;AAAA,QACL,MAAM;AAAA,QACN,KAAK,IAAI,CAAC;AAAA,QACV;AAAA,MACF;AAAA,IACF;AAAA,EACF;AACF;;;ACpuBO,IAAM,QAAiF;AAAA,EAC5F,SAAS;AAAA,EACT,MAAM;AAAA,EACN,QAAQ;AAAA,EACR,IAAI;AAAA,EACJ,SAAS;AAAA,EACT,YAAY;AAAA,EACZ,MAAM;AAAA,EACN,MAAM;AAAA,EAUN,KAAK;AAAA,EACL,OAAO;AAAA,EACP,UAAU;AAAA;AAAA;AAAA,EAGV,YAAY;AAAA,EACZ,MAAM;AACR;AAEA,MAAM,SAAS;AACf,MAAM,SAAS;AACf,MAAM,MAAM,KAAK,MAAM,GAAG,EACvB,QAAQ,SAAS,MAAM,MAAM,EAC7B,QAAQ,SAAS,MAAM,MAAM,EAC7B,SAAS;AAEZ,MAAM,SAAS;AACf,MAAM,gBAAgB,KAAK,eAAe,EACvC,QAAQ,QAAQ,MAAM,MAAM,EAC5B,SAAS;AAEZ,MAAM,OAAO,KAAK,MAAM,IAAI,EACzB,QAAQ,SAAS,MAAM,MAAM,EAC7B,QAAQ,MAAM,iEAAiE,EAC/E,QAAQ,OAAO,YAAY,MAAM,IAAI,SAAS,GAAG,EACjD,SAAS;AAEZ,MAAM,OAAO;AAMb,MAAM,WAAW;AACjB,MAAM,OAAO,KAAK,MAAM,MAAM,GAAG,EAC9B,QAAQ,WAAW,MAAM,QAAQ,EACjC,QAAQ,OAAO,MAAM,IAAI,EACzB,QAAQ,aAAa,0EAA0E,EAC/F,SAAS;AAEZ,MAAM,WAAW,KAAK,MAAM,QAAQ,EACjC,QAAQ,SAAS,MAAM,MAAM,EAC7B,SAAS;AAEZ,MAAM,YAAY,KAAK,MAAM,UAAU,EACpC,QAAQ,MAAM,MAAM,EAAE,EACtB,QAAQ,WAAW,eAAe,EAClC,QAAQ,aAAa,EAAE,EACvB,QAAQ,UAAU,EAAE,EACpB,QAAQ,cAAc,SAAS,EAC/B,QAAQ,UAAU,gDAAgD,EAClE,QAAQ,QAAQ,wBAAwB,EACxC,QAAQ,QAAQ,6DAA6D,EAC7E,QAAQ,OAAO,MAAM,IAAI,EACzB,SAAS;AAEZ,MAAM,aAAa,KAAK,MAAM,UAAU,EACrC,QAAQ,aAAa,MAAM,SAAS,EACpC,SAAS;AAMZ,MAAM,SAAS,EAAE,GAAG,MAAM;AAM1B,MAAM,MAAM;AAAA,EACV,GAAG,MAAM;AAAA,EACT,OAAO;AAAA;AAGT;AAEA,MAAM,IAAI,QAAQ,KAAK,MAAM,IAAI,KAAa,EAC3C,QAAQ,MAAM,MAAM,EAAE,EACtB,QAAQ,WAAW,eAAe,EAClC,QAAQ,cAAc,SAAS,EAC/B,QAAQ,QAAQ,YAAY,EAC5B,QAAQ,UAAU,gDAAgD,EAClE,QAAQ,QAAQ,wBAAwB,EACxC,QAAQ,QAAQ,6DAA6D,EAC7E,QAAQ,OAAO,MAAM,IAAI,EACzB,SAAS;AAEZ,MAAM,IAAI,YAAY,KAAK,MAAM,UAAU,EACxC,QAAQ,MAAM,MAAM,EAAE,EACtB,QAAQ,WAAW,eAAe,EAClC,QAAQ,aAAa,EAAE,EACvB,QAAQ,SAAS,MAAM,IAAI,KAAe,EAC1C,QAAQ,cAAc,SAAS,EAC/B,QAAQ,UAAU,gDAAgD,EAClE,QAAQ,QAAQ,wBAAwB,EACxC,QAAQ,QAAQ,6DAA6D,EAC7E,QAAQ,OAAO,MAAM,IAAI,EACzB,SAAS;AAKZ,MAAM,WAAW;AAAA,EACf,GAAG,MAAM;AAAA,EACT,MAAM;AAAA,IACJ;AAAA,EAEwE,EACvE,QAAQ,WAAW,MAAM,QAAQ,EACjC,QAAQ,QAAQ,mKAGkB,EAClC,SAAS;AAAA,EACZ,KAAK;AAAA,EACL,SAAS;AAAA,EACT,QAAQ;AAAA;AAAA,EACR,UAAU;AAAA,EACV,WAAW,KAAK,MAAM,OAAO,UAAkB,EAC5C,QAAQ,MAAM,MAAM,EAAE,EACtB,QAAQ,WAAW,iBAAiB,EACpC,QAAQ,YAAY,MAAM,QAAQ,EAClC,QAAQ,cAAc,SAAS,EAC/B,QAAQ,WAAW,EAAE,EACrB,QAAQ,SAAS,EAAE,EACnB,QAAQ,SAAS,EAAE,EACnB,SAAS;AACd;AAOO,IAAM,SAAoF;AAAA,EAC/F,QAAQ;AAAA,EACR,UAAU;AAAA,EACV,KAAK;AAAA,EACL,KAAK;AAAA;AAAA,EAML,MAAM;AAAA,EACN,SAAS;AAAA,EACT,QAAQ;AAAA,EACR,eAAe;AAAA,EACf,UAAU;AAAA,IACR,QAAQ;AAAA;AAAA;AAAA,IAGR,WAAW;AAAA,IACX,WAAW;AAAA;AAAA,EACb;AAAA,EACA,MAAM;AAAA,EACN,IAAI;AAAA,EACJ,KAAK;AAAA,EACL,MAAM;AAAA,EACN,aAAa;AACf;AAGA,OAAO,eAAe;AACtB,OAAO,cAAc,KAAK,OAAO,aAAa,GAAG,EAAE,QAAQ,gBAAgB,OAAO,YAAY,EAAE,SAAS;AAGzG,OAAO,YAAY;AACnB,OAAO,iBAAiB;AACxB,OAAO,WAAW;AAElB,OAAO,WAAW,KAAK,MAAM,QAAQ,EAAE,QAAQ,aAAa,KAAK,EAAE,SAAS;AAE5E,OAAO,SAAS,SAAS,KAAK,OAAO,SAAS,QAAgB,GAAG,EAC9D,QAAQ,UAAU,OAAO,YAAY,EACrC,SAAS;AAEZ,OAAO,SAAS,YAAY,KAAK,OAAO,SAAS,WAAmB,IAAI,EACrE,QAAQ,UAAU,OAAO,YAAY,EACrC,SAAS;AAEZ,OAAO,SAAS,YAAY,KAAK,OAAO,SAAS,WAAmB,IAAI,EACrE,QAAQ,UAAU,OAAO,YAAY,EACrC,SAAS;AAEZ,OAAO,iBAAiB,KAAK,OAAO,gBAAwB,IAAI,EAC7D,QAAQ,UAAU,OAAO,YAAY,EACrC,SAAS;AAEZ,OAAO,WAAW,KAAK,OAAO,UAAU,IAAI,EACzC,QAAQ,UAAU,OAAO,YAAY,EACrC,SAAS;AAEZ,OAAO,UAAU;AACjB,OAAO,SAAS;AAChB,OAAO,WAAW,KAAK,OAAO,QAAQ,EACnC,QAAQ,UAAU,OAAO,OAAO,EAChC,QAAQ,SAAS,OAAO,MAAM,EAC9B,SAAS;AAEZ,OAAO,aAAa;AAEpB,OAAO,MAAM,KAAK,OAAO,GAAG,EACzB,QAAQ,WAAW,OAAO,QAAQ,EAClC,QAAQ,aAAa,OAAO,UAAU,EACtC,SAAS;AAEZ,OAAO,SAAS;AAChB,OAAO,QAAQ;AACf,OAAO,SAAS;AAEhB,OAAO,OAAO,KAAK,OAAO,IAAI,EAC3B,QAAQ,SAAS,OAAO,MAAM,EAC9B,QAAQ,QAAQ,OAAO,KAAK,EAC5B,QAAQ,SAAS,OAAO,MAAM,EAC9B,SAAS;AAEZ,OAAO,UAAU,KAAK,OAAO,OAAO,EACjC,QAAQ,SAAS,OAAO,MAAM,EAC9B,QAAQ,OAAO,MAAM,MAAM,EAC3B,SAAS;AAEZ,OAAO,SAAS,KAAK,OAAO,MAAM,EAC/B,QAAQ,OAAO,MAAM,MAAM,EAC3B,SAAS;AAEZ,OAAO,gBAAgB,KAAK,OAAO,eAAe,GAAG,EAClD,QAAQ,WAAW,OAAO,OAAO,EACjC,QAAQ,UAAU,OAAO,MAAM,EAC/B,SAAS;AAMZ,OAAO,SAAS,EAAE,GAAG,OAAO;AAM5B,OAAO,WAAW;AAAA,EAChB,GAAG,OAAO;AAAA,EACV,QAAQ;AAAA,IACN,OAAO;AAAA,IACP,QAAQ;AAAA,IACR,QAAQ;AAAA,IACR,QAAQ;AAAA,EACV;AAAA,EACA,IAAI;AAAA,IACF,OAAO;AAAA,IACP,QAAQ;AAAA,IACR,QAAQ;AAAA,IACR,QAAQ;AAAA,EACV;AAAA,EACA,MAAM,KAAK,yBAAyB,EACjC,QAAQ,SAAS,OAAO,MAAM,EAC9B,SAAS;AAAA,EACZ,SAAS,KAAK,+BAA+B,EAC1C,QAAQ,SAAS,OAAO,MAAM,EAC9B,SAAS;AACd;AAMA,OAAO,MAAM;AAAA,EACX,GAAG,OAAO;AAAA,EACV,QAAQ,KAAK,OAAO,MAAM,EAAE,QAAQ,MAAM,MAAM,EAAE,SAAS;AAAA,EAC3D,iBAAiB;AAAA,EACjB,KAAK;AAAA,EACL,YAAY;AAAA,EACZ,KAAK;AAAA,EACL,MAAM;AACR;AAEA,OAAO,IAAI,MAAM,KAAK,OAAO,IAAI,KAAa,GAAG,EAC9C,QAAQ,SAAS,OAAO,IAAI,eAAyB,EACrD,SAAS;AAKZ,OAAO,SAAS;AAAA,EACd,GAAG,OAAO;AAAA,EACV,IAAI,KAAK,OAAO,EAAE,EAAE,QAAQ,QAAQ,GAAG,EAAE,SAAS;AAAA,EAClD,MAAM,KAAK,OAAO,IAAI,IAAY,EAC/B,QAAQ,QAAQ,eAAe,EAC/B,QAAQ,WAAW,GAAG,EACtB,SAAS;AACd;;;ACjXA,SAAS,YAAY,MAAc;AACjC,SAAO,KAEJ,QAAQ,QAAQ,QAAQ,EAExB,QAAQ,OAAO,QAAQ,EAEvB,QAAQ,2BAA2B,UAAU,EAE7C,QAAQ,MAAM,QAAQ,EAEtB,QAAQ,gCAAgC,UAAU,EAElD,QAAQ,MAAM,QAAQ,EAEtB,QAAQ,UAAU,QAAQ;AAC/B;AAKA,SAAS,OAAO,MAAc;AAC5B,MAAI,MAAM,IACR,GACA;AAEF,QAAM,IAAI,KAAK;AACf,OAAK,IAAI,GAAG,IAAI,GAAG,KAAK;AACtB,SAAK,KAAK,WAAW,CAAC;AACtB,QAAI,KAAK,OAAO,IAAI,KAAK;AACvB,WAAK,MAAM,GAAG,SAAS,EAAE;AAAA,IAC3B;AACA,WAAO,OAAO,KAAK;AAAA,EACrB;AAEA,SAAO;AACT;AAKO,IAAM,SAAN,MAAa;AAAA,EAYlB,YAAYC,UAAyB;AAGnC,SAAK,SAAS,CAAC;AACf,SAAK,OAAO,QAAQ,uBAAO,OAAO,IAAI;AACtC,SAAK,UAAUA,YAAW;AAC1B,SAAK,QAAQ,YAAY,KAAK,QAAQ,aAAa,IAAI,WAAW;AAClE,SAAK,YAAY,KAAK,QAAQ;AAC9B,SAAK,UAAU,UAAU,KAAK;AAC9B,SAAK,UAAU,QAAQ;AACvB,SAAK,cAAc,CAAC;AACpB,SAAK,QAAQ;AAAA,MACX,QAAQ;AAAA,MACR,YAAY;AAAA,MACZ,KAAK;AAAA,IACP;AAEA,UAAM,QAAQ;AAAA,MACZ,OAAO,MAAM;AAAA,MACb,QAAQ,OAAO;AAAA,IACjB;AAEA,QAAI,KAAK,QAAQ,UAAU;AACzB,YAAM,QAAQ,MAAM;AACpB,YAAM,SAAS,OAAO;AAAA,IACxB,WAAW,KAAK,QAAQ,KAAK;AAC3B,YAAM,QAAQ,MAAM;AACpB,UAAI,KAAK,QAAQ,QAAQ;AACvB,cAAM,SAAS,OAAO;AAAA,MACxB,OAAO;AACL,cAAM,SAAS,OAAO;AAAA,MACxB;AAAA,IACF;AACA,SAAK,UAAU,QAAQ;AAAA,EACzB;AAAA;AAAA;AAAA;AAAA,EAKA,WAAW,QAAe;AACxB,WAAO;AAAA,MACL;AAAA,MACA;AAAA,IACF;AAAA,EACF;AAAA;AAAA;AAAA;AAAA,EAKA,OAAO,IAAI,KAAaA,UAAyB;AAC/C,UAAMC,SAAQ,IAAI,OAAOD,QAAO;AAChC,WAAOC,OAAM,IAAI,GAAG;AAAA,EACtB;AAAA;AAAA;AAAA;AAAA,EAKA,OAAO,UAAU,KAAaD,UAAyB;AACrD,UAAMC,SAAQ,IAAI,OAAOD,QAAO;AAChC,WAAOC,OAAM,aAAa,GAAG;AAAA,EAC/B;AAAA;AAAA;AAAA;AAAA,EAKA,IAAI,KAAa;AACf,UAAM,IACH,QAAQ,YAAY,IAAI;AAE3B,SAAK,YAAY,KAAK,KAAK,MAAM;AAEjC,QAAI;AACJ,WAAO,OAAO,KAAK,YAAY,MAAM,GAAG;AACtC,WAAK,aAAa,KAAK,KAAK,KAAK,MAAM;AAAA,IACzC;AAEA,WAAO,KAAK;AAAA,EACd;AAAA,EAOA,YAAY,KAAa,SAAkB,CAAC,GAAG;AAC7C,QAAI,KAAK,QAAQ,UAAU;AACzB,YAAM,IAAI,QAAQ,OAAO,MAAM,EAAE,QAAQ,UAAU,EAAE;AAAA,IACvD,OAAO;AACL,YAAM,IAAI,QAAQ,gBAAgB,CAAC,GAAG,SAAS,SAAS;AACtD,eAAO,UAAU,OAAO,OAAO,KAAK,MAAM;AAAA,MAC5C,CAAC;AAAA,IACH;AAEA,QAAI,OAAO,WAAW,QAAQ;AAE9B,WAAO,KAAK;AACV,UAAI,KAAK,QAAQ,cACZ,KAAK,QAAQ,WAAW,SACxB,KAAK,QAAQ,WAAW,MAAM,KAAK,CAAC,iBAAkD;AACvF,YAAI,QAAQ,aAAa,KAAK,EAAE,OAAO,KAAK,GAAG,KAAK,MAAM,GAAG;AAC3D,gBAAM,IAAI,UAAU,MAAM,IAAI,MAAM;AACpC,iBAAO,KAAK,KAAK;AACjB,iBAAO;AAAA,QACT;AACA,eAAO;AAAA,MACT,CAAC,GAAG;AACJ;AAAA,MACF;AAGA,UAAI,QAAQ,KAAK,UAAU,MAAM,GAAG,GAAG;AACrC,cAAM,IAAI,UAAU,MAAM,IAAI,MAAM;AACpC,YAAI,MAAM,IAAI,WAAW,KAAK,OAAO,SAAS,GAAG;AAG/C,iBAAO,OAAO,SAAS,CAAC,EAAE,OAAO;AAAA,QACnC,OAAO;AACL,iBAAO,KAAK,KAAK;AAAA,QACnB;AACA;AAAA,MACF;AAGA,UAAI,QAAQ,KAAK,UAAU,KAAK,GAAG,GAAG;AACpC,cAAM,IAAI,UAAU,MAAM,IAAI,MAAM;AACpC,oBAAY,OAAO,OAAO,SAAS,CAAC;AAEpC,YAAI,cAAc,UAAU,SAAS,eAAe,UAAU,SAAS,SAAS;AAC9E,oBAAU,OAAO,OAAO,MAAM;AAC9B,oBAAU,QAAQ,OAAO,MAAM;AAC/B,eAAK,YAAY,KAAK,YAAY,SAAS,CAAC,EAAE,MAAM,UAAU;AAAA,QAChE,OAAO;AACL,iBAAO,KAAK,KAAK;AAAA,QACnB;AACA;AAAA,MACF;AAGA,UAAI,QAAQ,KAAK,UAAU,OAAO,GAAG,GAAG;AACtC,cAAM,IAAI,UAAU,MAAM,IAAI,MAAM;AACpC,eAAO,KAAK,KAAK;AACjB;AAAA,MACF;AAGA,UAAI,QAAQ,KAAK,UAAU,QAAQ,GAAG,GAAG;AACvC,cAAM,IAAI,UAAU,MAAM,IAAI,MAAM;AACpC,eAAO,KAAK,KAAK;AACjB;AAAA,MACF;AAGA,UAAI,QAAQ,KAAK,UAAU,GAAG,GAAG,GAAG;AAClC,cAAM,IAAI,UAAU,MAAM,IAAI,MAAM;AACpC,eAAO,KAAK,KAAK;AACjB;AAAA,MACF;AAGA,UAAI,QAAQ,KAAK,UAAU,WAAW,GAAG,GAAG;AAC1C,cAAM,IAAI,UAAU,MAAM,IAAI,MAAM;AACpC,eAAO,KAAK,KAAK;AACjB;AAAA,MACF;AAGA,UAAI,QAAQ,KAAK,UAAU,KAAK,GAAG,GAAG;AACpC,cAAM,IAAI,UAAU,MAAM,IAAI,MAAM;AACpC,eAAO,KAAK,KAAK;AACjB;AAAA,MACF;AAGA,UAAI,QAAQ,KAAK,UAAU,KAAK,GAAG,GAAG;AACpC,cAAM,IAAI,UAAU,MAAM,IAAI,MAAM;AACpC,eAAO,KAAK,KAAK;AACjB;AAAA,MACF;AAGA,UAAI,QAAQ,KAAK,UAAU,IAAI,GAAG,GAAG;AACnC,cAAM,IAAI,UAAU,MAAM,IAAI,MAAM;AACpC,oBAAY,OAAO,OAAO,SAAS,CAAC;AACpC,YAAI,cAAc,UAAU,SAAS,eAAe,UAAU,SAAS,SAAS;AAC9E,oBAAU,OAAO,OAAO,MAAM;AAC9B,oBAAU,QAAQ,OAAO,MAAM;AAC/B,eAAK,YAAY,KAAK,YAAY,SAAS,CAAC,EAAE,MAAM,UAAU;AAAA,QAChE,WAAW,CAAC,KAAK,OAAO,MAAM,MAAM,GAAG,GAAG;AACxC,eAAK,OAAO,MAAM,MAAM,GAAG,IAAI;AAAA,YAC7B,MAAM,MAAM;AAAA,YACZ,OAAO,MAAM;AAAA,UACf;AAAA,QACF;AACA;AAAA,MACF;AAGA,UAAI,QAAQ,KAAK,UAAU,MAAM,GAAG,GAAG;AACrC,cAAM,IAAI,UAAU,MAAM,IAAI,MAAM;AACpC,eAAO,KAAK,KAAK;AACjB;AAAA,MACF;AAGA,UAAI,QAAQ,KAAK,UAAU,SAAS,GAAG,GAAG;AACxC,cAAM,IAAI,UAAU,MAAM,IAAI,MAAM;AACpC,eAAO,KAAK,KAAK;AACjB;AAAA,MACF;AAIA,eAAS;AACT,UAAI,KAAK,QAAQ,cAAc,KAAK,QAAQ,WAAW,YAAY;AACjE,YAAI,aAAa;AACjB,cAAM,UAAU,IAAI,MAAM,CAAC;AAC3B,YAAI;AACJ,aAAK,QAAQ,WAAW,WAAW,QAAQ,CAAC,kBAAkB;AAC5D,sBAAY,cAAc,KAAK,EAAE,OAAO,KAAK,GAAG,OAAO;AACvD,cAAI,OAAO,cAAc,YAAY,aAAa,GAAG;AAAE,yBAAa,KAAK,IAAI,YAAY,SAAS;AAAA,UAAG;AAAA,QACvG,CAAC;AACD,YAAI,aAAa,YAAY,cAAc,GAAG;AAC5C,mBAAS,IAAI,UAAU,GAAG,aAAa,CAAC;AAAA,QAC1C;AAAA,MACF;AACA,UAAI,KAAK,MAAM,QAAQ,QAAQ,KAAK,UAAU,UAAU,MAAM,IAAI;AAChE,oBAAY,OAAO,OAAO,SAAS,CAAC;AACpC,YAAI,wBAAwB,UAAU,SAAS,aAAa;AAC1D,oBAAU,OAAO,OAAO,MAAM;AAC9B,oBAAU,QAAQ,OAAO,MAAM;AAC/B,eAAK,YAAY,IAAI;AACrB,eAAK,YAAY,KAAK,YAAY,SAAS,CAAC,EAAE,MAAM,UAAU;AAAA,QAChE,OAAO;AACL,iBAAO,KAAK,KAAK;AAAA,QACnB;AACA,+BAAwB,OAAO,WAAW,IAAI;AAC9C,cAAM,IAAI,UAAU,MAAM,IAAI,MAAM;AACpC;AAAA,MACF;AAGA,UAAI,QAAQ,KAAK,UAAU,KAAK,GAAG,GAAG;AACpC,cAAM,IAAI,UAAU,MAAM,IAAI,MAAM;AACpC,oBAAY,OAAO,OAAO,SAAS,CAAC;AACpC,YAAI,aAAa,UAAU,SAAS,QAAQ;AAC1C,oBAAU,OAAO,OAAO,MAAM;AAC9B,oBAAU,QAAQ,OAAO,MAAM;AAC/B,eAAK,YAAY,IAAI;AACrB,eAAK,YAAY,KAAK,YAAY,SAAS,CAAC,EAAE,MAAM,UAAU;AAAA,QAChE,OAAO;AACL,iBAAO,KAAK,KAAK;AAAA,QACnB;AACA;AAAA,MACF;AAEA,UAAI,KAAK;AACP,cAAM,SAAS,4BAA4B,IAAI,WAAW,CAAC;AAC3D,YAAI,KAAK,QAAQ,QAAQ;AACvB,kBAAQ,MAAM,MAAM;AACpB;AAAA,QACF,OAAO;AACL,gBAAM,IAAI,MAAM,MAAM;AAAA,QACxB;AAAA,MACF;AAAA,IACF;AAEA,SAAK,MAAM,MAAM;AACjB,WAAO;AAAA,EACT;AAAA,EAEA,OAAO,KAAa,SAAkB,CAAC,GAAG;AACxC,SAAK,YAAY,KAAK,EAAE,KAAK,OAAO,CAAC;AACrC,WAAO;AAAA,EACT;AAAA;AAAA;AAAA;AAAA,EAKA,aAAa,KAAa,SAAkB,CAAC,GAAY;AACvD,QAAI,OAAO,WAAW;AAGtB,QAAI,YAAY;AAChB,QAAI;AACJ,QAAI,cAAc;AAGlB,QAAI,KAAK,OAAO,OAAO;AACrB,YAAM,QAAQ,OAAO,KAAK,KAAK,OAAO,KAAK;AAC3C,UAAI,MAAM,SAAS,GAAG;AACpB,gBAAQ,QAAQ,KAAK,UAAU,MAAM,OAAO,cAAc,KAAK,SAAS,MAAM,MAAM;AAClF,cAAI,MAAM,SAAS,MAAM,CAAC,EAAE,MAAM,MAAM,CAAC,EAAE,YAAY,GAAG,IAAI,GAAG,EAAE,CAAC,GAAG;AACrE,wBAAY,UAAU,MAAM,GAAG,MAAM,KAAK,IAAI,MAAM,IAAI,OAAO,MAAM,CAAC,EAAE,SAAS,CAAC,IAAI,MAAM,UAAU,MAAM,KAAK,UAAU,MAAM,OAAO,cAAc,SAAS;AAAA,UACjK;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAEA,YAAQ,QAAQ,KAAK,UAAU,MAAM,OAAO,UAAU,KAAK,SAAS,MAAM,MAAM;AAC9E,kBAAY,UAAU,MAAM,GAAG,MAAM,KAAK,IAAI,MAAM,IAAI,OAAO,MAAM,CAAC,EAAE,SAAS,CAAC,IAAI,MAAM,UAAU,MAAM,KAAK,UAAU,MAAM,OAAO,UAAU,SAAS;AAAA,IAC7J;AAGA,YAAQ,QAAQ,KAAK,UAAU,MAAM,OAAO,eAAe,KAAK,SAAS,MAAM,MAAM;AACnF,kBAAY,UAAU,MAAM,GAAG,MAAM,KAAK,IAAI,OAAO,UAAU,MAAM,KAAK,UAAU,MAAM,OAAO,eAAe,SAAS;AAAA,IAC3H;AAEA,WAAO,KAAK;AACV,UAAI,CAAC,cAAc;AACjB,mBAAW;AAAA,MACb;AACA,qBAAe;AAGf,UAAI,KAAK,QAAQ,cACZ,KAAK,QAAQ,WAAW,UACxB,KAAK,QAAQ,WAAW,OAAO,KAAK,CAAC,iBAAiB;AACvD,YAAI,QAAQ,aAAa,KAAK,EAAE,OAAO,KAAK,GAAG,KAAK,MAAM,GAAG;AAC3D,gBAAM,IAAI,UAAU,MAAM,IAAI,MAAM;AACpC,iBAAO,KAAK,KAAK;AACjB,iBAAO;AAAA,QACT;AACA,eAAO;AAAA,MACT,CAAC,GAAG;AACJ;AAAA,MACF;AAGA,UAAI,QAAQ,KAAK,UAAU,OAAO,GAAG,GAAG;AACtC,cAAM,IAAI,UAAU,MAAM,IAAI,MAAM;AACpC,eAAO,KAAK,KAAK;AACjB;AAAA,MACF;AAGA,UAAI,QAAQ,KAAK,UAAU,IAAI,GAAG,GAAG;AACnC,cAAM,IAAI,UAAU,MAAM,IAAI,MAAM;AACpC,oBAAY,OAAO,OAAO,SAAS,CAAC;AACpC,YAAI,aAAa,MAAM,SAAS,UAAU,UAAU,SAAS,QAAQ;AACnE,oBAAU,OAAO,MAAM;AACvB,oBAAU,QAAQ,MAAM;AAAA,QAC1B,OAAO;AACL,iBAAO,KAAK,KAAK;AAAA,QACnB;AACA;AAAA,MACF;AAGA,UAAI,QAAQ,KAAK,UAAU,KAAK,GAAG,GAAG;AACpC,cAAM,IAAI,UAAU,MAAM,IAAI,MAAM;AACpC,eAAO,KAAK,KAAK;AACjB;AAAA,MACF;AAGA,UAAI,QAAQ,KAAK,UAAU,QAAQ,KAAK,KAAK,OAAO,KAAK,GAAG;AAC1D,cAAM,IAAI,UAAU,MAAM,IAAI,MAAM;AACpC,oBAAY,OAAO,OAAO,SAAS,CAAC;AACpC,YAAI,aAAa,MAAM,SAAS,UAAU,UAAU,SAAS,QAAQ;AACnE,oBAAU,OAAO,MAAM;AACvB,oBAAU,QAAQ,MAAM;AAAA,QAC1B,OAAO;AACL,iBAAO,KAAK,KAAK;AAAA,QACnB;AACA;AAAA,MACF;AAGA,UAAI,QAAQ,KAAK,UAAU,SAAS,KAAK,WAAW,QAAQ,GAAG;AAC7D,cAAM,IAAI,UAAU,MAAM,IAAI,MAAM;AACpC,eAAO,KAAK,KAAK;AACjB;AAAA,MACF;AAGA,UAAI,QAAQ,KAAK,UAAU,SAAS,GAAG,GAAG;AACxC,cAAM,IAAI,UAAU,MAAM,IAAI,MAAM;AACpC,eAAO,KAAK,KAAK;AACjB;AAAA,MACF;AAGA,UAAI,QAAQ,KAAK,UAAU,GAAG,GAAG,GAAG;AAClC,cAAM,IAAI,UAAU,MAAM,IAAI,MAAM;AACpC,eAAO,KAAK,KAAK;AACjB;AAAA,MACF;AAGA,UAAI,QAAQ,KAAK,UAAU,IAAI,GAAG,GAAG;AACnC,cAAM,IAAI,UAAU,MAAM,IAAI,MAAM;AACpC,eAAO,KAAK,KAAK;AACjB;AAAA,MACF;AAGA,UAAI,QAAQ,KAAK,UAAU,SAAS,KAAK,MAAM,GAAG;AAChD,cAAM,IAAI,UAAU,MAAM,IAAI,MAAM;AACpC,eAAO,KAAK,KAAK;AACjB;AAAA,MACF;AAGA,UAAI,CAAC,KAAK,MAAM,WAAW,QAAQ,KAAK,UAAU,IAAI,KAAK,MAAM,IAAI;AACnE,cAAM,IAAI,UAAU,MAAM,IAAI,MAAM;AACpC,eAAO,KAAK,KAAK;AACjB;AAAA,MACF;AAIA,eAAS;AACT,UAAI,KAAK,QAAQ,cAAc,KAAK,QAAQ,WAAW,aAAa;AAClE,YAAI,aAAa;AACjB,cAAM,UAAU,IAAI,MAAM,CAAC;AAC3B,YAAI;AACJ,aAAK,QAAQ,WAAW,YAAY,QAAQ,CAAC,kBAAkB;AAC7D,sBAAY,cAAc,KAAK,EAAE,OAAO,KAAK,GAAG,OAAO;AACvD,cAAI,OAAO,cAAc,YAAY,aAAa,GAAG;AAAE,yBAAa,KAAK,IAAI,YAAY,SAAS;AAAA,UAAG;AAAA,QACvG,CAAC;AACD,YAAI,aAAa,YAAY,cAAc,GAAG;AAC5C,mBAAS,IAAI,UAAU,GAAG,aAAa,CAAC;AAAA,QAC1C;AAAA,MACF;AACA,UAAI,QAAQ,KAAK,UAAU,WAAW,QAAQ,WAAW,GAAG;AAC1D,cAAM,IAAI,UAAU,MAAM,IAAI,MAAM;AACpC,YAAI,MAAM,IAAI,MAAM,EAAE,MAAM,KAAK;AAC/B,qBAAW,MAAM,IAAI,MAAM,EAAE;AAAA,QAC/B;AACA,uBAAe;AACf,oBAAY,OAAO,OAAO,SAAS,CAAC;AACpC,YAAI,aAAa,UAAU,SAAS,QAAQ;AAC1C,oBAAU,OAAO,MAAM;AACvB,oBAAU,QAAQ,MAAM;AAAA,QAC1B,OAAO;AACL,iBAAO,KAAK,KAAK;AAAA,QACnB;AACA;AAAA,MACF;AAEA,UAAI,KAAK;AACP,cAAM,SAAS,4BAA4B,IAAI,WAAW,CAAC;AAC3D,YAAI,KAAK,QAAQ,QAAQ;AACvB,kBAAQ,MAAM,MAAM;AACpB;AAAA,QACF,OAAO;AACL,gBAAM,IAAI,MAAM,MAAM;AAAA,QACxB;AAAA,MACF;AAAA,IACF;AAEA,WAAO;AAAA,EACT;AACF;;;ACzfO,IAAM,YAAN,MAAgB;AAAA,EAErB,YAAYC,UAAyB;AACnC,SAAK,UAAUA,YAAW;AAAA,EAC5B;AAAA,EAEA,KAAK,MAAc,YAAgC,SAA0B;AAC3E,UAAM,QAAQ,cAAc,IAAI,MAAM,KAAK,EAAG,CAAC;AAC/C,QAAI,KAAK,QAAQ,WAAW;AAC1B,YAAM,MAAM,KAAK,QAAQ,UAAU,MAAM,IAAI;AAC7C,UAAI,OAAO,QAAQ,QAAQ,MAAM;AAC/B,kBAAU;AACV,eAAO;AAAA,MACT;AAAA,IACF;AAEA,WAAO,KAAK,QAAQ,OAAO,EAAE,IAAI;AAEjC,QAAI,CAAC,MAAM;AACT,aAAO,iBACF,UAAU,OAAO,OAAO,MAAM,IAAI,KACnC;AAAA,IACN;AAEA,WAAO,uBACH,KAAK,QAAQ,aACb,OAAO,IAAI,IACX,QACC,UAAU,OAAO,OAAO,MAAM,IAAI,KACnC;AAAA,EACN;AAAA,EAEA,WAAW,OAAuB;AAChC,WAAO;AAAA,EAAiB;AAAA;AAAA,EAC1B;AAAA,EAEA,KAAK,MAAcC,QAA0B;AAC3C,WAAO;AAAA,EACT;AAAA,EAEA,QAAQ,MAAc,OAAe,KAAa,SAA0B;AAC1E,QAAI,KAAK,QAAQ,WAAW;AAC1B,YAAM,KAAK,KAAK,QAAQ,eAAe,QAAQ,KAAK,GAAG;AACvD,aAAO,KAAK,aAAa,OAAO,UAAU;AAAA;AAAA,IAC5C;AAGA,WAAO,KAAK,SAAS,UAAU;AAAA;AAAA,EACjC;AAAA,EAEA,KAAa;AACX,WAAO,KAAK,QAAQ,QAAQ,YAAY;AAAA,EAC1C;AAAA,EAEA,KAAK,MAAc,SAAkB,OAA4B;AAC/D,UAAM,OAAO,UAAU,OAAO,MAC5B,WAAY,WAAW,UAAU,IAAM,aAAa,QAAQ,MAAO;AACrE,WAAO,MAAM,OAAO,WAAW,QAAQ,OAAO,OAAO,OAAO;AAAA,EAC9D;AAAA,EAEA,SAAS,MAAc,MAAe,SAA0B;AAC9D,WAAO,OAAO;AAAA;AAAA,EAChB;AAAA,EAEA,SAAS,SAA0B;AACjC,WAAO,aACF,UAAU,gBAAgB,MAC3B,iCACC,KAAK,QAAQ,QAAQ,OAAO,MAC7B;AAAA,EACN;AAAA,EAEA,UAAU,MAAsB;AAC9B,WAAO,MAAM;AAAA;AAAA,EACf;AAAA,EAEA,MAAM,QAAgB,MAAsB;AAC1C,QAAI;AAAM,aAAO,UAAU;AAE3B,WAAO,uBAEH,SACA,eACA,OACA;AAAA,EACN;AAAA,EAEA,SAAS,SAAyB;AAChC,WAAO;AAAA,EAAS;AAAA;AAAA,EAClB;AAAA,EAEA,UAAU,SAAiB,OAGhB;AACT,UAAM,OAAO,MAAM,SAAS,OAAO;AACnC,UAAM,MAAM,MAAM,QACd,IAAI,eAAe,MAAM,YACzB,IAAI;AACR,WAAO,MAAM,UAAU,KAAK;AAAA;AAAA,EAC9B;AAAA;AAAA;AAAA;AAAA,EAKA,OAAO,MAAsB;AAC3B,WAAO,WAAW;AAAA,EACpB;AAAA,EAEA,GAAG,MAAsB;AACvB,WAAO,OAAO;AAAA,EAChB;AAAA,EAEA,SAAS,MAAsB;AAC7B,WAAO,SAAS;AAAA,EAClB;AAAA,EAEA,KAAa;AACX,WAAO,KAAK,QAAQ,QAAQ,UAAU;AAAA,EACxC;AAAA,EAEA,IAAI,MAAsB;AACxB,WAAO,QAAQ;AAAA,EACjB;AAAA,EAEA,KAAK,MAAc,OAAkC,MAAsB;AACzE,WAAO,SAAS,KAAK,QAAQ,UAAU,KAAK,QAAQ,SAAS,IAAI;AACjE,QAAI,SAAS,MAAM;AACjB,aAAO;AAAA,IACT;AACA,QAAI,MAAM,cAAc,OAAO;AAC/B,QAAI,OAAO;AACT,aAAO,aAAa,QAAQ;AAAA,IAC9B;AACA,WAAO,MAAM,OAAO;AACpB,WAAO;AAAA,EACT;AAAA,EAEA,MAAM,MAAc,OAAsB,MAAsB;AAC9D,WAAO,SAAS,KAAK,QAAQ,UAAU,KAAK,QAAQ,SAAS,IAAI;AACjE,QAAI,SAAS,MAAM;AACjB,aAAO;AAAA,IACT;AAEA,QAAI,MAAM,aAAa,cAAc;AACrC,QAAI,OAAO;AACT,aAAO,WAAW;AAAA,IACpB;AACA,WAAO,KAAK,QAAQ,QAAQ,OAAO;AACnC,WAAO;AAAA,EACT;AAAA,EAEA,KAAK,MAAuB;AAC1B,WAAO;AAAA,EACT;AACF;;;AClKO,IAAM,gBAAN,MAAoB;AAAA;AAAA,EAEzB,OAAO,MAAc;AACnB,WAAO;AAAA,EACT;AAAA,EAEA,GAAG,MAAc;AACf,WAAO;AAAA,EACT;AAAA,EAEA,SAAS,MAAc;AACrB,WAAO;AAAA,EACT;AAAA,EAEA,IAAI,MAAc;AAChB,WAAO;AAAA,EACT;AAAA,EAEA,KAAK,MAAc;AACjB,WAAO;AAAA,EACT;AAAA,EAEA,KAAK,MAAc;AACjB,WAAO;AAAA,EACT;AAAA,EAEA,KAAK,MAAc,OAAkC,MAAc;AACjE,WAAO,KAAK;AAAA,EACd;AAAA,EAEA,MAAM,MAAc,OAAsB,MAAc;AACtD,WAAO,KAAK;AAAA,EACd;AAAA,EAEA,KAAK;AACH,WAAO;AAAA,EACT;AACF;;;ACpCO,IAAM,WAAN,MAAe;AAAA,EAGpB,cAAc;AACZ,SAAK,OAAO,CAAC;AAAA,EACf;AAAA,EAEA,UAAU,OAAe;AACvB,WAAO,MACJ,YAAY,EACZ,KAAK,EAEL,QAAQ,mBAAmB,EAAE,EAE7B,QAAQ,iEAAiE,EAAE,EAC3E,QAAQ,OAAO,GAAG;AAAA,EACvB;AAAA;AAAA;AAAA;AAAA,EAKA,gBAAgB,cAAsB,UAA+B;AACnE,QAAI,OAAO;AACX,QAAI,uBAAuB;AAC3B,QAAI,KAAK,KAAK,eAAe,IAAI,GAAG;AAClC,6BAAuB,KAAK,KAAK,YAAY;AAC7C,SAAG;AACD;AACA,eAAO,eAAe,MAAM;AAAA,MAC9B,SAAS,KAAK,KAAK,eAAe,IAAI;AAAA,IACxC;AACA,QAAI,CAAC,UAAU;AACb,WAAK,KAAK,YAAY,IAAI;AAC1B,WAAK,KAAK,IAAI,IAAI;AAAA,IACpB;AACA,WAAO;AAAA,EACT;AAAA;AAAA;AAAA;AAAA,EAKA,KAAK,OAAeC,WAA0B,CAAC,GAAG;AAChD,UAAM,OAAO,KAAK,UAAU,KAAK;AACjC,WAAO,KAAK,gBAAgB,MAAMA,SAAQ,MAAM;AAAA,EAClD;AACF;;;ACrCO,IAAM,UAAN,MAAc;AAAA,EAKnB,YAAYC,UAAyB;AACnC,SAAK,UAAUA,YAAW;AAC1B,SAAK,QAAQ,WAAW,KAAK,QAAQ,YAAY,IAAI,UAAU;AAC/D,SAAK,WAAW,KAAK,QAAQ;AAC7B,SAAK,SAAS,UAAU,KAAK;AAC7B,SAAK,eAAe,IAAI,cAAc;AACtC,SAAK,UAAU,IAAI,SAAS;AAAA,EAC9B;AAAA;AAAA;AAAA;AAAA,EAKA,OAAO,MAAM,QAAiBA,UAAyB;AACrD,UAAMC,UAAS,IAAI,QAAQD,QAAO;AAClC,WAAOC,QAAO,MAAM,MAAM;AAAA,EAC5B;AAAA;AAAA;AAAA;AAAA,EAKA,OAAO,YAAY,QAAiBD,UAAyB;AAC3D,UAAMC,UAAS,IAAI,QAAQD,QAAO;AAClC,WAAOC,QAAO,YAAY,MAAM;AAAA,EAClC;AAAA;AAAA;AAAA;AAAA,EAKA,MAAM,QAAiB,MAAM,MAAc;AACzC,QAAI,MAAM,IACR,GACA,GACA,GACA,IACA,IACA,KACA,MACA,QACA,MACA,OACA,SACA,OACA,OACA,UACA,MACA,SACA,MACA,UACA;AAEF,UAAM,IAAI,OAAO;AACjB,SAAK,IAAI,GAAG,IAAI,GAAG,KAAK;AACtB,cAAQ,OAAO,CAAC;AAGhB,UAAI,KAAK,QAAQ,cAAc,KAAK,QAAQ,WAAW,aAAa,KAAK,QAAQ,WAAW,UAAU,MAAM,IAAI,GAAG;AACjH,cAAM,KAAK,QAAQ,WAAW,UAAU,MAAM,IAAI,EAAE,KAAK,EAAE,QAAQ,KAAK,GAAG,KAAK;AAChF,YAAI,QAAQ,SAAS,CAAC,CAAC,SAAS,MAAM,WAAW,QAAQ,SAAS,cAAc,QAAQ,QAAQ,aAAa,MAAM,EAAE,SAAS,MAAM,IAAI,GAAG;AACzI,iBAAO,OAAO;AACd;AAAA,QACF;AAAA,MACF;AAEA,cAAQ,MAAM,MAAM;AAAA,QAClB,KAAK,SAAS;AACZ;AAAA,QACF;AAAA,QACA,KAAK,MAAM;AACT,iBAAO,KAAK,SAAS,GAAG;AACxB;AAAA,QACF;AAAA,QACA,KAAK,WAAW;AACd,iBAAO,KAAK,SAAS;AAAA,YACnB,KAAK,YAAY,MAAM,MAAM;AAAA,YAC7B,MAAM;AAAA,YACN,SAAS,KAAK,YAAY,MAAM,QAAQ,KAAK,YAAY,CAAW;AAAA,YACpE,KAAK;AAAA,UAAO;AACd;AAAA,QACF;AAAA,QACA,KAAK,QAAQ;AACX,iBAAO,KAAK,SAAS;AAAA,YAAK,MAAM;AAAA,YAC9B,MAAM;AAAA,YACN,CAAC,CAAC,MAAM;AAAA,UAAO;AACjB;AAAA,QACF;AAAA,QACA,KAAK,SAAS;AACZ,mBAAS;AAGT,iBAAO;AACP,eAAK,MAAM,OAAO;AAClB,eAAK,IAAI,GAAG,IAAI,IAAI,KAAK;AACvB,oBAAQ,KAAK,SAAS;AAAA,cACpB,KAAK,YAAY,MAAM,OAAO,CAAC,EAAE,MAAM;AAAA,cACvC,EAAE,QAAQ,MAAM,OAAO,MAAM,MAAM,CAAC,EAAE;AAAA,YACxC;AAAA,UACF;AACA,oBAAU,KAAK,SAAS,SAAS,IAAI;AAErC,iBAAO;AACP,eAAK,MAAM,KAAK;AAChB,eAAK,IAAI,GAAG,IAAI,IAAI,KAAK;AACvB,kBAAM,MAAM,KAAK,CAAC;AAElB,mBAAO;AACP,iBAAK,IAAI;AACT,iBAAK,IAAI,GAAG,IAAI,IAAI,KAAK;AACvB,sBAAQ,KAAK,SAAS;AAAA,gBACpB,KAAK,YAAY,IAAI,CAAC,EAAE,MAAM;AAAA,gBAC9B,EAAE,QAAQ,OAAO,OAAO,MAAM,MAAM,CAAC,EAAE;AAAA,cACzC;AAAA,YACF;AAEA,oBAAQ,KAAK,SAAS,SAAS,IAAI;AAAA,UACrC;AACA,iBAAO,KAAK,SAAS,MAAM,QAAQ,IAAI;AACvC;AAAA,QACF;AAAA,QACA,KAAK,cAAc;AACjB,iBAAO,KAAK,MAAM,MAAM,MAAM;AAC9B,iBAAO,KAAK,SAAS,WAAW,IAAI;AACpC;AAAA,QACF;AAAA,QACA,KAAK,QAAQ;AACX,oBAAU,MAAM;AAChB,kBAAQ,MAAM;AACd,kBAAQ,MAAM;AACd,eAAK,MAAM,MAAM;AAEjB,iBAAO;AACP,eAAK,IAAI,GAAG,IAAI,IAAI,KAAK;AACvB,mBAAO,MAAM,MAAM,CAAC;AACpB,sBAAU,KAAK;AACf,mBAAO,KAAK;AAEZ,uBAAW;AACX,gBAAI,KAAK,MAAM;AACb,yBAAW,KAAK,SAAS,SAAS,CAAC,CAAC,OAAO;AAC3C,kBAAI,OAAO;AACT,oBAAI,KAAK,OAAO,SAAS,KAAK,KAAK,OAAO,CAAC,EAAE,SAAS,aAAa;AACjE,uBAAK,OAAO,CAAC,EAAE,OAAO,WAAW,MAAM,KAAK,OAAO,CAAC,EAAE;AACtD,sBAAI,KAAK,OAAO,CAAC,EAAE,UAAU,KAAK,OAAO,CAAC,EAAE,OAAO,SAAS,KAAK,KAAK,OAAO,CAAC,EAAE,OAAO,CAAC,EAAE,SAAS,QAAQ;AACzG,yBAAK,OAAO,CAAC,EAAE,OAAO,CAAC,EAAE,OAAO,WAAW,MAAM,KAAK,OAAO,CAAC,EAAE,OAAO,CAAC,EAAE;AAAA,kBAC5E;AAAA,gBACF,OAAO;AACL,uBAAK,OAAO,QAAQ;AAAA,oBAClB,MAAM;AAAA,oBACN,MAAM;AAAA,kBACR,CAAgB;AAAA,gBAClB;AAAA,cACF,OAAO;AACL,4BAAY;AAAA,cACd;AAAA,YACF;AAEA,wBAAY,KAAK,MAAM,KAAK,QAAQ,KAAK;AACzC,oBAAQ,KAAK,SAAS,SAAS,UAAU,MAAM,CAAC,CAAC,OAAO;AAAA,UAC1D;AAEA,iBAAO,KAAK,SAAS,KAAK,MAAM,SAAS,KAAK;AAC9C;AAAA,QACF;AAAA,QACA,KAAK,QAAQ;AACX,iBAAO,KAAK,SAAS,KAAK,MAAM,MAAM,MAAM,KAAK;AACjD;AAAA,QACF;AAAA,QACA,KAAK,aAAa;AAChB,iBAAO,KAAK,SAAS,UAAU,KAAK,YAAY,MAAM,MAAM,CAAE;AAC9D;AAAA,QACF;AAAA,QACA,KAAK,QAAQ;AACX,iBAAO,MAAM,SAAS,KAAK,YAAY,MAAM,MAAM,IAAI,MAAM;AAC7D,iBAAO,IAAI,IAAI,KAAK,OAAO,IAAI,CAAC,EAAE,SAAS,QAAQ;AACjD,oBAAQ,OAAO,EAAE,CAAC;AAClB,oBAAQ,QAAQ,MAAM,SAAS,KAAK,YAAY,MAAM,MAAM,IAAI,MAAM;AAAA,UACxE;AACA,iBAAO,MAAM,KAAK,SAAS,UAAU,IAAK,IAAI;AAC9C;AAAA,QACF;AAAA,QAEA,SAAS;AACP,gBAAM,SAAS,iBAAiB,MAAM,OAAO;AAC7C,cAAI,KAAK,QAAQ,QAAQ;AACvB,oBAAQ,MAAM,MAAM;AACpB,mBAAO;AAAA,UACT,OAAO;AACL,kBAAM,IAAI,MAAM,MAAM;AAAA,UACxB;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAEA,WAAO;AAAA,EACT;AAAA;AAAA;AAAA;AAAA,EAKA,YAAY,QAAiB,UAA8C;AACzE,eAAW,YAAY,KAAK;AAC5B,QAAI,MAAM,IACR,GACA,OACA;AAEF,UAAM,IAAI,OAAO;AACjB,SAAK,IAAI,GAAG,IAAI,GAAG,KAAK;AACtB,cAAQ,OAAO,CAAC;AAGhB,UAAI,KAAK,QAAQ,cAAc,KAAK,QAAQ,WAAW,aAAa,KAAK,QAAQ,WAAW,UAAU,MAAM,IAAI,GAAG;AACjH,cAAM,KAAK,QAAQ,WAAW,UAAU,MAAM,IAAI,EAAE,KAAK,EAAE,QAAQ,KAAK,GAAG,KAAK;AAChF,YAAI,QAAQ,SAAS,CAAC,CAAC,UAAU,QAAQ,QAAQ,SAAS,UAAU,MAAM,YAAY,MAAM,OAAO,MAAM,EAAE,SAAS,MAAM,IAAI,GAAG;AAC/H,iBAAO,OAAO;AACd;AAAA,QACF;AAAA,MACF;AAEA,cAAQ,MAAM,MAAM;AAAA,QAClB,KAAK,UAAU;AACb,iBAAO,SAAS,KAAK,MAAM,IAAI;AAC/B;AAAA,QACF;AAAA,QACA,KAAK,QAAQ;AACX,iBAAO,SAAS,KAAK,MAAM,IAAI;AAC/B;AAAA,QACF;AAAA,QACA,KAAK,QAAQ;AACX,iBAAO,SAAS,KAAK,MAAM,MAAM,MAAM,OAAO,KAAK,YAAY,MAAM,QAAQ,QAAQ,CAAE;AACvF;AAAA,QACF;AAAA,QACA,KAAK,SAAS;AACZ,iBAAO,SAAS,MAAM,MAAM,MAAM,MAAM,OAAO,MAAM,IAAI;AACzD;AAAA,QACF;AAAA,QACA,KAAK,UAAU;AACb,iBAAO,SAAS,OAAO,KAAK,YAAY,MAAM,QAAQ,QAAQ,CAAE;AAChE;AAAA,QACF;AAAA,QACA,KAAK,MAAM;AACT,iBAAO,SAAS,GAAG,KAAK,YAAY,MAAM,QAAQ,QAAQ,CAAE;AAC5D;AAAA,QACF;AAAA,QACA,KAAK,YAAY;AACf,iBAAO,SAAS,SAAS,MAAM,IAAI;AACnC;AAAA,QACF;AAAA,QACA,KAAK,MAAM;AACT,iBAAO,SAAS,GAAG;AACnB;AAAA,QACF;AAAA,QACA,KAAK,OAAO;AACV,iBAAO,SAAS,IAAI,KAAK,YAAY,MAAM,QAAQ,QAAQ,CAAE;AAC7D;AAAA,QACF;AAAA,QACA,KAAK,QAAQ;AACX,iBAAO,SAAS,KAAK,MAAM,IAAI;AAC/B;AAAA,QACF;AAAA,QACA,SAAS;AACP,gBAAM,SAAS,iBAAiB,MAAM,OAAO;AAC7C,cAAI,KAAK,QAAQ,QAAQ;AACvB,oBAAQ,MAAM,MAAM;AACpB,mBAAO;AAAA,UACT,OAAO;AACL,kBAAM,IAAI,MAAM,MAAM;AAAA,UACxB;AAAA,QACF;AAAA,MACF;AAAA,IACF;AACA,WAAO;AAAA,EACT;AACF;;;AC/RO,IAAM,SAAN,MAAa;AAAA,EAGlB,YAAYC,UAAyB;AACnC,SAAK,UAAUA,YAAW;AAAA,EAC5B;AAAA;AAAA;AAAA;AAAA,EAUA,WAAW,UAAkB;AAC3B,WAAO;AAAA,EACT;AAAA;AAAA;AAAA;AAAA,EAKA,YAAY,MAA0B;AACpC,WAAO;AAAA,EACT;AACF;AAzBa,OAOJ,mBAAmB,oBAAI,IAAI;AAAA,EAChC;AAAA,EACA;AACF,CAAC;;;ACbH;AAiBO,IAAM,SAAN,MAAa;AAAA,EAiBlB,eAAe,MAAyB;AA6LxC;AAiIA;AA9UA,oBAAW,aAAa;AACxB,mBAAU,KAAK;AAEf,iBAAQ,sBAAK,kCAAL,WAAoB,OAAO,KAAK,QAAQ;AAChD,uBAAc,sBAAK,kCAAL,WAAoB,OAAO,WAAW,QAAQ;AAE5D,kBAAS;AACT,kBAAS,QAAQ;AACjB,oBAAW;AACX,wBAAe;AACf,iBAAQ;AACR,iBAAQ,OAAO;AACf,qBAAY;AACZ,mBAAU;AACV,iBAAQ;AAGN,SAAK,IAAI,GAAG,IAAI;AAAA,EAClB;AAAA;AAAA;AAAA;AAAA,EAKA,WAAsB,QAA8B,UAAqC;AACvF,QAAI,SAAc,CAAC;AACnB,eAAW,SAAS,QAAQ;AAC1B,eAAS,OAAO,OAAO,SAAS,KAAK,MAAM,KAAK,CAAC;AACjD,cAAQ,MAAM,MAAM;AAAA,QAClB,KAAK,SAAS;AACZ,qBAAW,QAAQ,MAAM,QAAQ;AAC/B,qBAAS,OAAO,OAAO,KAAK,WAAW,KAAK,QAAS,QAAQ,CAAC;AAAA,UAChE;AACA,qBAAW,OAAO,MAAM,MAAM;AAC5B,uBAAW,QAAQ,KAAK;AACtB,uBAAS,OAAO,OAAO,KAAK,WAAW,KAAK,QAAS,QAAQ,CAAC;AAAA,YAChE;AAAA,UACF;AACA;AAAA,QACF;AAAA,QACA,KAAK,QAAQ;AACX,mBAAS,OAAO,OAAO,KAAK,WAAW,MAAM,OAAO,QAAQ,CAAC;AAC7D;AAAA,QACF;AAAA,QACA,SAAS;AACP,cAAI,KAAK,SAAS,cAAc,KAAK,SAAS,WAAW,eAAe,KAAK,SAAS,WAAW,YAAY,MAAM,IAAI,GAAG;AACxH,iBAAK,SAAS,WAAW,YAAY,MAAM,IAAI,EAAE,QAAQ,CAAC,gBAAgB;AACxE,uBAAS,OAAO,OAAO,KAAK,WAAW,MAAM,WAAW,GAAG,QAAQ,CAAC;AAAA,YACtE,CAAC;AAAA,UACH,WAAW,MAAM,QAAQ;AACvB,qBAAS,OAAO,OAAO,KAAK,WAAW,MAAM,QAAQ,QAAQ,CAAC;AAAA,UAChE;AAAA,QACF;AAAA,MACF;AAAA,IACF;AACA,WAAO;AAAA,EACT;AAAA,EAEA,OAAO,MAAyB;AAC9B,UAAM,aAAuD,KAAK,SAAS,cAAc,EAAE,WAAW,CAAC,GAAG,aAAa,CAAC,EAAE;AAE1H,SAAK,QAAQ,CAAC,SAAS;AAErB,YAAM,OAAO,EAAE,GAAG,KAAK;AAGvB,WAAK,QAAQ,KAAK,SAAS,SAAS,KAAK,SAAS;AAGlD,UAAI,KAAK,YAAY;AACnB,aAAK,WAAW,QAAQ,CAAC,QAAQ;AAC/B,cAAI,CAAC,IAAI,MAAM;AACb,kBAAM,IAAI,MAAM,yBAAyB;AAAA,UAC3C;AACA,cAAI,cAAc,KAAK;AACrB,kBAAM,eAAe,WAAW,UAAU,IAAI,IAAI;AAClD,gBAAI,cAAc;AAEhB,yBAAW,UAAU,IAAI,IAAI,IAAI,YAAYC,OAAM;AACjD,oBAAI,MAAM,IAAI,SAAS,MAAM,MAAMA,KAAI;AACvC,oBAAI,QAAQ,OAAO;AACjB,wBAAM,aAAa,MAAM,MAAMA,KAAI;AAAA,gBACrC;AACA,uBAAO;AAAA,cACT;AAAA,YACF,OAAO;AACL,yBAAW,UAAU,IAAI,IAAI,IAAI,IAAI;AAAA,YACvC;AAAA,UACF;AACA,cAAI,eAAe,KAAK;AACtB,gBAAI,CAAC,IAAI,SAAU,IAAI,UAAU,WAAW,IAAI,UAAU,UAAW;AACnE,oBAAM,IAAI,MAAM,6CAA6C;AAAA,YAC/D;AACA,gBAAI,WAAW,IAAI,KAAK,GAAG;AACzB,yBAAW,IAAI,KAAK,EAAE,QAAQ,IAAI,SAAS;AAAA,YAC7C,OAAO;AACL,yBAAW,IAAI,KAAK,IAAI,CAAC,IAAI,SAAS;AAAA,YACxC;AACA,gBAAI,IAAI,OAAO;AACb,kBAAI,IAAI,UAAU,SAAS;AACzB,oBAAI,WAAW,YAAY;AACzB,6BAAW,WAAW,KAAK,IAAI,KAAM;AAAA,gBACvC,OAAO;AACL,6BAAW,aAAa,CAAC,IAAI,KAAM;AAAA,gBACrC;AAAA,cACF,WAAW,IAAI,UAAU,UAAU;AACjC,oBAAI,WAAW,aAAa;AAC1B,6BAAW,YAAY,KAAK,IAAI,KAAM;AAAA,gBACxC,OAAO;AACL,6BAAW,cAAc,CAAC,IAAI,KAAM;AAAA,gBACtC;AAAA,cACF;AAAA,YACF;AAAA,UACF;AACA,cAAI,iBAAiB,OAAO,IAAI,aAAa;AAC3C,uBAAW,YAAY,IAAI,IAAI,IAAI,IAAI;AAAA,UACzC;AAAA,QACF,CAAC;AACD,aAAK,aAAa;AAAA,MACpB;AAGA,UAAI,KAAK,UAAU;AACjB,cAAM,WAAW,KAAK,SAAS,YAAY,IAAI,UAAU,KAAK,QAAQ;AACtE,mBAAW,QAAQ,KAAK,UAAU;AAChC,gBAAM,eAAe,SAAS,IAAI;AAElC,mBAAS,IAAI,IAAI,IAAIA,UAAoB;AACvC,gBAAI,MAAM,KAAK,SAAU,IAAI,EAAE,MAAM,UAAUA,KAAI;AACnD,gBAAI,QAAQ,OAAO;AACjB,oBAAM,aAAa,MAAM,UAAUA,KAAI;AAAA,YACzC;AACA,mBAAO;AAAA,UACT;AAAA,QACF;AACA,aAAK,WAAW;AAAA,MAClB;AACA,UAAI,KAAK,WAAW;AAClB,cAAM,YAAY,KAAK,SAAS,aAAa,IAAI,WAAW,KAAK,QAAQ;AACzE,mBAAW,QAAQ,KAAK,WAAW;AACjC,gBAAM,gBAAgB,UAAU,IAAI;AAEpC,oBAAU,IAAI,IAAI,IAAIA,UAAoB;AACxC,gBAAI,MAAM,KAAK,UAAW,IAAI,EAAE,MAAM,WAAWA,KAAI;AACrD,gBAAI,QAAQ,OAAO;AACjB,oBAAM,cAAc,MAAM,WAAWA,KAAI;AAAA,YAC3C;AACA,mBAAO;AAAA,UACT;AAAA,QACF;AACA,aAAK,YAAY;AAAA,MACnB;AAGA,UAAI,KAAK,OAAO;AACd,cAAM,QAAQ,KAAK,SAAS,SAAS,IAAI,OAAO;AAChD,mBAAW,QAAQ,KAAK,OAAO;AAC7B,gBAAM,WAAW,MAAM,IAAI;AAC3B,cAAI,OAAO,iBAAiB,IAAI,IAAI,GAAG;AACrC,kBAAM,IAAoC,IAAI,CAAC,QAA4B;AACzE,kBAAI,KAAK,SAAS,OAAO;AACvB,uBAAO,QAAQ,QAAQ,KAAK,MAAO,IAAI,EAAE,KAAK,OAAO,GAAG,CAAC,EAAE,KAAK,CAAAC,SAAO;AACrE,yBAAO,SAAS,KAAK,OAAOA,IAAG;AAAA,gBACjC,CAAC;AAAA,cACH;AAEA,oBAAM,MAAM,KAAK,MAAO,IAAI,EAAE,KAAK,OAAO,GAAG;AAC7C,qBAAO,SAAS,KAAK,OAAO,GAAG;AAAA,YACjC;AAAA,UACF,OAAO;AACL,kBAAM,IAAI,IAAI,IAAID,UAAS;AACzB,kBAAI,MAAM,KAAK,MAAO,IAAI,EAAE,MAAM,OAAOA,KAAI;AAC7C,kBAAI,QAAQ,OAAO;AACjB,sBAAM,SAAS,MAAM,OAAOA,KAAI;AAAA,cAClC;AACA,qBAAO;AAAA,YACT;AAAA,UACF;AAAA,QACF;AACA,aAAK,QAAQ;AAAA,MACf;AAGA,UAAI,KAAK,YAAY;AACnB,cAAME,cAAa,KAAK,SAAS;AACjC,aAAK,aAAa,SAAS,OAAO;AAChC,cAAI,SAAsC,CAAC;AAC3C,iBAAO,KAAK,KAAK,WAAY,KAAK,MAAM,KAAK,CAAC;AAC9C,cAAIA,aAAY;AACd,qBAAS,OAAO,OAAOA,YAAW,KAAK,MAAM,KAAK,CAAC;AAAA,UACrD;AACA,iBAAO;AAAA,QACT;AAAA,MACF;AAEA,WAAK,WAAW,EAAE,GAAG,KAAK,UAAU,GAAG,KAAK;AAAA,IAC9C,CAAC;AAED,WAAO;AAAA,EACT;AAAA,EAEA,WAAW,KAAK;AACd,SAAK,WAAW,EAAE,GAAG,KAAK,UAAU,GAAG,IAAI;AAC3C,WAAO;AAAA,EACT;AA+JF;AA7JE;AAAA,mBAAc,SAACC,QAAuEC,SAA0E;AAC9J,SAAO,CAAC,KAAa,eAAmE,aAA4F;AAClL,QAAI,OAAO,kBAAkB,YAAY;AACvC,iBAAW;AACX,sBAAgB;AAAA,IAClB;AAEA,UAAM,UAAU,EAAE,GAAG,cAAc;AACnC,UAAM,MAAM,EAAE,GAAG,KAAK,UAAU,GAAG,QAAQ;AAC3C,UAAM,aAAa,sBAAK,sBAAL,WAAc,CAAC,CAAC,IAAI,QAAQ,CAAC,CAAC,IAAI,OAAO;AAG5D,QAAI,OAAO,QAAQ,eAAe,QAAQ,MAAM;AAC9C,aAAO,WAAW,IAAI,MAAM,gDAAgD,CAAC;AAAA,IAC/E;AACA,QAAI,OAAO,QAAQ,UAAU;AAC3B,aAAO,WAAW,IAAI,MAAM,0CACxB,OAAO,UAAU,SAAS,KAAK,GAAG,IAAI,mBAAmB,CAAC;AAAA,IAChE;AAEA,sBAAkB,KAAK,QAAQ;AAE/B,QAAI,IAAI,OAAO;AACb,UAAI,MAAM,UAAU;AAAA,IACtB;AAEA,QAAI,UAAU;AACZ,YAAM,YAAY,IAAI;AACtB,UAAI;AAEJ,UAAI;AACF,YAAI,IAAI,OAAO;AACb,gBAAM,IAAI,MAAM,WAAW,GAAG;AAAA,QAChC;AACA,iBAASD,OAAM,KAAK,GAAG;AAAA,MACzB,SAAS,GAAP;AACA,eAAO,WAAW,CAAU;AAAA,MAC9B;AAEA,YAAM,OAAO,CAAC,QAAgB;AAC5B,YAAI;AAEJ,YAAI,CAAC,KAAK;AACR,cAAI;AACF,gBAAI,IAAI,YAAY;AAClB,mBAAK,WAAW,QAAQ,IAAI,UAAU;AAAA,YACxC;AACA,kBAAMC,QAAO,QAAQ,GAAG;AACxB,gBAAI,IAAI,OAAO;AACb,oBAAM,IAAI,MAAM,YAAY,GAAG;AAAA,YACjC;AAAA,UACF,SAAS,GAAP;AACA,kBAAM;AAAA,UACR;AAAA,QACF;AAEA,YAAI,YAAY;AAEhB,eAAO,MACH,WAAW,GAAG,IACd,SAAU,MAAM,GAAG;AAAA,MACzB;AAEA,UAAI,CAAC,aAAa,UAAU,SAAS,GAAG;AACtC,eAAO,KAAK;AAAA,MACd;AAEA,aAAO,IAAI;AAEX,UAAI,CAAC,OAAO;AAAQ,eAAO,KAAK;AAEhC,UAAI,UAAU;AACd,WAAK,WAAW,QAAQ,CAAC,UAAU;AACjC,YAAI,MAAM,SAAS,QAAQ;AACzB;AACA,qBAAW,MAAM;AACf,sBAAU,MAAM,MAAM,MAAM,MAAM,CAAC,KAAK,SAAS;AAC/C,kBAAI,KAAK;AACP,uBAAO,KAAK,GAAG;AAAA,cACjB;AACA,kBAAI,QAAQ,QAAQ,SAAS,MAAM,MAAM;AACvC,sBAAM,OAAO;AACb,sBAAM,UAAU;AAAA,cAClB;AAEA;AACA,kBAAI,YAAY,GAAG;AACjB,qBAAK;AAAA,cACP;AAAA,YACF,CAAC;AAAA,UACH,GAAG,CAAC;AAAA,QACN;AAAA,MACF,CAAC;AAED,UAAI,YAAY,GAAG;AACjB,aAAK;AAAA,MACP;AAEA;AAAA,IACF;AAEA,QAAI,IAAI,OAAO;AACb,aAAO,QAAQ,QAAQ,IAAI,QAAQ,IAAI,MAAM,WAAW,GAAG,IAAI,GAAG,EAC/D,KAAK,CAAAC,SAAOF,OAAME,MAAK,GAAG,CAAC,EAC3B,KAAK,YAAU,IAAI,aAAa,QAAQ,IAAI,KAAK,WAAW,QAAQ,IAAI,UAAU,CAAC,EAAE,KAAK,MAAM,MAAM,IAAI,MAAM,EAChH,KAAK,YAAUD,QAAO,QAAQ,GAAG,CAAC,EAClC,KAAK,UAAQ,IAAI,QAAQ,IAAI,MAAM,YAAY,IAAI,IAAI,IAAI,EAC3D,MAAM,UAAU;AAAA,IACrB;AAEA,QAAI;AACF,UAAI,IAAI,OAAO;AACb,cAAM,IAAI,MAAM,WAAW,GAAG;AAAA,MAChC;AACA,YAAM,SAASD,OAAM,KAAK,GAAG;AAC7B,UAAI,IAAI,YAAY;AAClB,aAAK,WAAW,QAAQ,IAAI,UAAU;AAAA,MACxC;AACA,UAAI,OAAOC,QAAO,QAAQ,GAAG;AAC7B,UAAI,IAAI,OAAO;AACb,eAAO,IAAI,MAAM,YAAY,IAAI;AAAA,MACnC;AACA,aAAO;AAAA,IACT,SAAS,GAAP;AACA,aAAO,WAAW,CAAU;AAAA,IAC9B;AAAA,EACF;AACF;AAEA;AAAA,aAAQ,SAAC,QAAiB,OAAgB,UAA2B;AACnE,SAAO,CAAC,MAAmD;AACzD,MAAE,WAAW;AAEb,QAAI,QAAQ;AACV,YAAM,MAAM,mCACR,OAAO,EAAE,UAAU,IAAI,IAAI,IAC3B;AACJ,UAAI,OAAO;AACT,eAAO,QAAQ,QAAQ,GAAG;AAAA,MAC5B;AACA,UAAI,UAAU;AACZ,iBAAS,MAAM,GAAG;AAClB;AAAA,MACF;AACA,aAAO;AAAA,IACT;AAEA,QAAI,OAAO;AACT,aAAO,QAAQ,OAAO,CAAC;AAAA,IACzB;AACA,QAAI,UAAU;AACZ,eAAS,CAAC;AACV;AAAA,IACF;AACA,UAAM;AAAA,EACR;AACF;;;AXzWF,IAAM,iBAAiB,IAAI,OAAO;AAwC3B,SAAS,OAAO,KAAa,KAAsC,UAA6E;AACrJ,SAAO,eAAe,MAAM,KAAK,KAAK,QAAQ;AAChD;AAOA,OAAO,UACP,OAAO,aAAa,SAASE,UAAwB;AACnD,iBAAe,WAAWA,QAAO;AACjC,SAAO,WAAW,eAAe;AACjC,iBAAe,OAAO,QAAQ;AAC9B,SAAO;AACT;AAKA,OAAO,cAAc;AAErB,OAAO,WAAW;AAMlB,OAAO,MAAM,YAAY,MAAyB;AAChD,iBAAe,IAAI,GAAG,IAAI;AAC1B,SAAO,WAAW,eAAe;AACjC,iBAAe,OAAO,QAAQ;AAC9B,SAAO;AACT;AAMA,OAAO,aAAa,SAAoB,QAA8B,UAAqC;AACzG,SAAO,eAAe,WAAW,QAAQ,QAAQ;AACnD;AASA,OAAO,cAAc,eAAe;AAKpC,OAAO,SAAS;AAChB,OAAO,SAAS,QAAQ;AACxB,OAAO,WAAW;AAClB,OAAO,eAAe;AACtB,OAAO,QAAQ;AACf,OAAO,QAAQ,OAAO;AACtB,OAAO,YAAY;AACnB,OAAO,UAAU;AACjB,OAAO,QAAQ;AACf,OAAO,QAAQ;AAER,IAAM,UAAU,OAAO;AACvB,IAAM,aAAa,OAAO;AAC1B,IAAM,MAAM,OAAO;AACnB,IAAM,aAAa,OAAO;AAC1B,IAAM,cAAc,OAAO;AAC3B,IAAM,QAAQ;AACd,IAAM,SAAS,QAAQ;AACvB,IAAM,QAAQ,OAAO;","names":["lexer","options","text","mangle","smartypants","options","lexer","options","block","options","options","parser","options","args","ret","walkTokens","lexer","parser","src","options"]} \ No newline at end of file diff --git a/lib/marked.d.ts b/lib/marked.d.ts new file mode 100644 index 00000000..218017f4 --- /dev/null +++ b/lib/marked.d.ts @@ -0,0 +1,624 @@ +type Token = (Tokens.Space | Tokens.Code | Tokens.Heading | Tokens.Table | Tokens.Hr | Tokens.Blockquote | Tokens.List | Tokens.ListItem | Tokens.Paragraph | Tokens.HTML | Tokens.Text | Tokens.Def | Tokens.Escape | Tokens.Tag | Tokens.Image | Tokens.Link | Tokens.Strong | Tokens.Em | Tokens.Codespan | Tokens.Br | Tokens.Del) & { + loose?: boolean; + tokens?: Token[]; +}; +declare namespace Tokens { + interface Space { + type: 'space'; + raw: string; + } + interface Code { + type: 'code'; + raw: string; + codeBlockStyle?: 'indented' | undefined; + lang?: string | undefined; + text: string; + escaped?: boolean; + } + interface Heading { + type: 'heading'; + raw: string; + depth: number; + text: string; + tokens: Token[]; + } + interface Table { + type: 'table'; + raw?: string; + align: Array<'center' | 'left' | 'right' | null>; + header: TableCell[]; + rows: TableCell[][]; + } + interface TableCell { + text: string; + tokens?: Token[]; + } + interface Hr { + type: 'hr'; + raw: string; + } + interface Blockquote { + type: 'blockquote'; + raw: string; + text: string; + tokens: Token[]; + } + interface List { + type: 'list'; + raw: string; + ordered: boolean; + start: number | ''; + loose: boolean; + items: ListItem[]; + } + interface ListItem { + type: 'list_item'; + raw: string; + task: boolean; + checked?: boolean | undefined; + loose: boolean; + text: string; + tokens?: Token[]; + } + interface Paragraph { + type: 'paragraph'; + raw: string; + pre?: boolean | undefined; + text: string; + tokens: Token[]; + } + interface HTML { + type: 'html'; + raw: string; + pre: boolean; + text: string; + block: boolean; + } + interface Text { + type: 'text'; + raw: string; + text: string; + tokens?: Token[]; + } + interface Def { + type: 'def'; + raw: string; + tag: string; + href: string; + title: string; + } + interface Escape { + type: 'escape'; + raw: string; + text: string; + } + interface Tag { + type: 'text' | 'html'; + raw: string; + inLink: boolean; + inRawBlock: boolean; + text: string; + block: boolean; + } + interface Link { + type: 'link'; + raw: string; + href: string; + title?: string | null; + text: string; + tokens: Token[]; + } + interface Image { + type: 'image'; + raw: string; + href: string; + title: string | null; + text: string; + } + interface Strong { + type: 'strong'; + raw: string; + text: string; + tokens: Token[]; + } + interface Em { + type: 'em'; + raw: string; + text: string; + tokens: Token[]; + } + interface Codespan { + type: 'codespan'; + raw: string; + text: string; + } + interface Br { + type: 'br'; + raw: string; + } + interface Del { + type: 'del'; + raw: string; + text: string; + tokens: Token[]; + } + interface Generic { + [index: string]: any; + type: string; + raw: string; + tokens?: Token[] | undefined; + } +} +type Links = Record
block. Useful for syntax highlighting.
+ */
+ langPrefix?: string | undefined;
+ /**
+ * Mangle autolinks ().
+ * @deprecated Deprecated in v5.0.0 use marked-mangle to mangle email addresses.
+ */
+ mangle?: boolean | undefined;
+ /**
+ * Conform to obscure parts of markdown.pl as much as possible. Don't fix any of the original markdown bugs or poor behavior.
+ */
+ pedantic?: boolean | undefined;
+ /**
+ * Type: object Default: new Renderer()
+ *
+ * An object containing functions to render tokens to HTML.
+ */
+ renderer?: RendererObject | undefined | null;
+ /**
+ * Sanitize the output. Ignore any HTML that has been input. If true, sanitize the HTML passed into markdownString with the sanitizer function.
+ * @deprecated Warning: This feature is deprecated and it should NOT be used as it cannot be considered secure. Instead use a sanitize library, like DOMPurify (recommended), sanitize-html or insane on the output HTML!
+ */
+ sanitize?: boolean | undefined;
+ /**
+ * Optionally sanitize found HTML with a sanitizer function.
+ * @deprecated A function to sanitize the HTML passed into markdownString.
+ */
+ sanitizer?: ((html: string) => string) | null;
+ /**
+ * Shows an HTML error message when rendering fails.
+ */
+ silent?: boolean | undefined;
+ /**
+ * Use smarter list behavior than the original markdown. May eventually be default with the old behavior moved into pedantic.
+ */
+ smartLists?: boolean | undefined;
+ /**
+ * Use "smart" typograhic punctuation for things like quotes and dashes.
+ * @deprecated Deprecated in v5.0.0 use marked-smartypants to use "smart" typographic punctuation for things like quotes and dashes.
+ */
+ smartypants?: boolean | undefined;
+ /**
+ * The tokenizer defines how to turn markdown text into tokens.
+ */
+ tokenizer?: TokenizerObject | undefined | null;
+ /**
+ * The walkTokens function gets called with every token.
+ * Child tokens are called before moving on to sibling tokens.
+ * Each token is passed by reference so updates are persisted when passed to the parser.
+ * The return value of the function is ignored.
+ */
+ walkTokens?: ((token: Token) => void | Promise) | undefined | null;
+ /**
+ * Generate closing slash for self-closing tags (
instead of
)
+ * @deprecated Deprecated in v5.0.0 use marked-xhtml to emit self-closing HTML tags for void elements (
,
, etc.) with a "/" as required by XHTML.
+ */
+ xhtml?: boolean | undefined;
+}
+interface MarkedOptions extends Omit {
+ /**
+ * Type: object Default: new Renderer()
+ *
+ * An object containing functions to render tokens to HTML.
+ */
+ renderer?: Omit<_Renderer, 'constructor'> | undefined | null;
+ /**
+ * The tokenizer defines how to turn markdown text into tokens.
+ */
+ tokenizer?: Omit<_Tokenizer, 'constructor'> | undefined | null;
+ /**
+ * The walkTokens function gets called with every token.
+ * Child tokens are called before moving on to sibling tokens.
+ * Each token is passed by reference so updates are persisted when passed to the parser.
+ * The return value of the function is ignored.
+ */
+ walkTokens?: ((token: Token) => void | Promise | Array>) | undefined | null;
+ /**
+ * Add tokenizers and renderers to marked
+ */
+ extensions?: (TokenizerAndRendererExtension[] & {
+ renderers: Record string | false | undefined>;
+ childTokens: Record;
+ block: any[];
+ inline: any[];
+ startBlock: Array<(this: TokenizerThis, src: string) => number | void>;
+ startInline: Array<(this: TokenizerThis, src: string) => number | void>;
+ }) | undefined | null;
+}
+
+type Rule = RegExp | string;
+interface Rules {
+ [ruleName: string]: Pick | Rule | Rules;
+}
+type BlockRuleNames = 'newline' | 'code' | 'fences' | 'hr' | 'heading' | 'blockquote' | 'list' | 'html' | 'def' | 'lheading' | '_paragraph' | 'text' | '_label' | '_title' | 'bullet' | 'listItemStart' | '_tag' | '_comment' | 'paragraph' | 'uote';
+type BlockSubRuleNames = 'normal' | 'gfm' | 'pedantic';
+type InlineRuleNames = 'escape' | 'autolink' | 'tag' | 'link' | 'reflink' | 'nolink' | 'reflinkSearch' | 'code' | 'br' | 'text' | '_punctuation' | 'punctuation' | 'blockSkip' | 'escapedEmSt' | '_comment' | '_escapes' | '_scheme' | '_email' | '_attribute' | '_label' | '_href' | '_title' | 'strong' | '_extended_email' | '_backpedal';
+type InlineSubRuleNames = 'gfm' | 'emStrong' | 'normal' | 'pedantic' | 'breaks';
+/**
+ * Block-Level Grammar
+ */
+declare const block: Record & Record & Rules;
+/**
+ * Inline-Level Grammar
+ */
+declare const inline: Record & Record & Rules;
+
+/**
+ * Block Lexer
+ */
+declare class _Lexer {
+ tokens: TokensList;
+ options: MarkedOptions;
+ state: {
+ inLink: boolean;
+ inRawBlock: boolean;
+ top: boolean;
+ };
+ private tokenizer;
+ private inlineQueue;
+ constructor(options?: MarkedOptions);
+ /**
+ * Expose Rules
+ */
+ static get rules(): Rules;
+ /**
+ * Static Lex Method
+ */
+ static lex(src: string, options?: MarkedOptions): TokensList;
+ /**
+ * Static Lex Inline Method
+ */
+ static lexInline(src: string, options?: MarkedOptions): Token[];
+ /**
+ * Preprocessing
+ */
+ lex(src: string): TokensList;
+ /**
+ * Lexing
+ */
+ blockTokens(src: string, tokens?: Token[]): Token[];
+ blockTokens(src: string, tokens?: TokensList): TokensList;
+ inline(src: string, tokens?: Token[]): Token[];
+ /**
+ * Lexing/Compiling
+ */
+ inlineTokens(src: string, tokens?: Token[]): Token[];
+}
+
+declare class _Hooks {
+ options: MarkedOptions;
+ constructor(options?: MarkedOptions);
+ static passThroughHooks: Set;
+ /**
+ * Process markdown before marked
+ */
+ preprocess(markdown: string): string;
+ /**
+ * Process HTML after marked is finished
+ */
+ postprocess(html: string | undefined): string | undefined;
+}
+
+type ResultCallback$1 = (error: Error | null, parseResult?: string) => undefined | void;
+declare class Marked {
+ #private;
+ defaults: MarkedOptions;
+ options: (opt: any) => this;
+ parse: (src: string, optOrCallback?: MarkedOptions | ResultCallback$1 | undefined | null, callback?: ResultCallback$1 | undefined) => string | Promise | undefined;
+ parseInline: (src: string, optOrCallback?: MarkedOptions | ResultCallback$1 | undefined | null, callback?: ResultCallback$1 | undefined) => string | Promise | undefined;
+ Parser: typeof _Parser;
+ parser: typeof _Parser.parse;
+ Renderer: typeof _Renderer;
+ TextRenderer: typeof _TextRenderer;
+ Lexer: typeof _Lexer;
+ lexer: typeof _Lexer.lex;
+ Tokenizer: typeof _Tokenizer;
+ Slugger: typeof _Slugger;
+ Hooks: typeof _Hooks;
+ constructor(...args: MarkedExtension[]);
+ /**
+ * Run callback for every token
+ */
+ walkTokens(tokens: Token[] | TokensList, callback: (token: Token) => T | T[]): T[];
+ use(...args: MarkedExtension[]): this;
+ setOptions(opt: any): this;
+}
+
+/**
+ * Gets the original marked default options.
+ */
+declare function _getDefaults(): MarkedOptions;
+declare let _defaults: MarkedOptions;
+
+type ResultCallback = (error: Error | null, parseResult?: string) => undefined | void;
+/**
+ * Compiles markdown to HTML asynchronously.
+ *
+ * @param src String of markdown source to be compiled
+ * @param options Hash of options, having async: true
+ * @return Promise of string of compiled HTML
+ */
+declare function marked(src: string, options: MarkedOptions & {
+ async: true;
+}): Promise;
+/**
+ * Compiles markdown to HTML synchronously.
+ *
+ * @param src String of markdown source to be compiled
+ * @param options Optional hash of options
+ * @return String of compiled HTML
+ */
+declare function marked(src: string, options?: MarkedOptions): string;
+/**
+ * Compiles markdown to HTML asynchronously with a callback.
+ *
+ * @param src String of markdown source to be compiled
+ * @param callback Function called when the markdownString has been fully parsed when using async highlighting
+ */
+declare function marked(src: string, callback: ResultCallback): void;
+/**
+ * Compiles markdown to HTML asynchronously with a callback.
+ *
+ * @param src String of markdown source to be compiled
+ * @param options Hash of options
+ * @param callback Function called when the markdownString has been fully parsed when using async highlighting
+ */
+declare function marked(src: string, options: MarkedOptions, callback: ResultCallback): void;
+declare namespace marked {
+ var options: (options: MarkedOptions) => typeof marked;
+ var setOptions: (options: MarkedOptions) => typeof marked;
+ var getDefaults: typeof _getDefaults;
+ var defaults: MarkedOptions;
+ var use: (...args: MarkedExtension[]) => typeof marked;
+ var walkTokens: (tokens: TokensList | Token[], callback: (token: Token) => T | T[]) => T[];
+ var parseInline: (src: string, optOrCallback?: MarkedOptions | ResultCallback$1 | null | undefined, callback?: ResultCallback$1 | undefined) => string | Promise | undefined;
+ var Parser: typeof _Parser;
+ var parser: typeof _Parser.parse;
+ var Renderer: typeof _Renderer;
+ var TextRenderer: typeof _TextRenderer;
+ var Lexer: typeof _Lexer;
+ var lexer: typeof _Lexer.lex;
+ var Tokenizer: typeof _Tokenizer;
+ var Slugger: typeof _Slugger;
+ var Hooks: typeof _Hooks;
+ var parse: typeof marked;
+}
+declare const options: (options: MarkedOptions) => typeof marked;
+declare const setOptions: (options: MarkedOptions) => typeof marked;
+declare const use: (...args: MarkedExtension[]) => typeof marked;
+declare const walkTokens: (tokens: Token[] | TokensList, callback: (token: Token) => T | T[]) => T[];
+declare const parseInline: (src: string, optOrCallback?: MarkedOptions | ResultCallback$1 | null | undefined, callback?: ResultCallback$1 | undefined) => string | Promise | undefined;
+declare const parse: typeof marked;
+declare const parser: typeof _Parser.parse;
+declare const lexer: typeof _Lexer.lex;
+
+export { _Hooks as Hooks, _Lexer as Lexer, Links, Marked, MarkedExtension, MarkedOptions, _Parser as Parser, _Renderer as Renderer, RendererExtension, RendererThis, ResultCallback, Rule, Rules, _Slugger as Slugger, SluggerOptions, _TextRenderer as TextRenderer, Token, _Tokenizer as Tokenizer, TokenizerAndRendererExtension, TokenizerExtension, TokenizerThis, Tokens, TokensList, block, _defaults as defaults, _getDefaults as getDefaults, inline, lexer, marked, options, parse, parseInline, parser, setOptions, use, walkTokens };
diff --git a/lib/marked.esm.js b/lib/marked.esm.js
index 03d832c4..a105a719 100644
--- a/lib/marked.esm.js
+++ b/lib/marked.esm.js
@@ -9,7 +9,22 @@
* The code in this file is generated from files in ./src/
*/
-function getDefaults() {
+var __accessCheck = (obj, member, msg) => {
+ if (!member.has(obj))
+ throw TypeError("Cannot " + msg);
+};
+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 __privateMethod = (obj, member, method) => {
+ __accessCheck(obj, member, "access private method");
+ return method;
+};
+
+// src/defaults.ts
+function _getDefaults() {
return {
async: false,
baseUrl: null,
@@ -17,10 +32,10 @@ function getDefaults() {
extensions: null,
gfm: true,
headerIds: true,
- headerPrefix: '',
+ headerPrefix: "",
highlight: null,
hooks: null,
- langPrefix: 'language-',
+ langPrefix: "language-",
mangle: true,
pedantic: false,
renderer: null,
@@ -33,28 +48,24 @@ function getDefaults() {
xhtml: false
};
}
-
-let defaults = getDefaults();
-
+var _defaults = _getDefaults();
function changeDefaults(newDefaults) {
- defaults = newDefaults;
+ _defaults = newDefaults;
}
-/**
- * Helpers
- */
-const escapeTest = /[&<>"']/;
-const escapeReplace = new RegExp(escapeTest.source, 'g');
-const escapeTestNoEncode = /[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/;
-const escapeReplaceNoEncode = new RegExp(escapeTestNoEncode.source, 'g');
-const escapeReplacements = {
- '&': '&',
- '<': '<',
- '>': '>',
- '"': '"',
- "'": '''
+// src/helpers.ts
+var escapeTest = /[&<>"']/;
+var escapeReplace = new RegExp(escapeTest.source, "g");
+var escapeTestNoEncode = /[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/;
+var escapeReplaceNoEncode = new RegExp(escapeTestNoEncode.source, "g");
+var escapeReplacements = {
+ "&": "&",
+ "<": "<",
+ ">": ">",
+ '"': """,
+ "'": "'"
};
-const getEscapeReplacement = (ch) => escapeReplacements[ch];
+var getEscapeReplacement = (ch) => escapeReplacements[ch];
function escape(html, encode) {
if (encode) {
if (escapeTest.test(html)) {
@@ -65,42 +76,28 @@ function escape(html, encode) {
return html.replace(escapeReplaceNoEncode, getEscapeReplacement);
}
}
-
return html;
}
-
-const unescapeTest = /&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/ig;
-
-/**
- * @param {string} html
- */
+var unescapeTest = /&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/ig;
function unescape(html) {
- // explicitly match decimal, hex, and named HTML entities
return html.replace(unescapeTest, (_, n) => {
n = n.toLowerCase();
- if (n === 'colon') return ':';
- if (n.charAt(0) === '#') {
- return n.charAt(1) === 'x'
- ? String.fromCharCode(parseInt(n.substring(2), 16))
- : String.fromCharCode(+n.substring(1));
+ if (n === "colon")
+ return ":";
+ if (n.charAt(0) === "#") {
+ return n.charAt(1) === "x" ? String.fromCharCode(parseInt(n.substring(2), 16)) : String.fromCharCode(+n.substring(1));
}
- return '';
+ return "";
});
}
-
-const caret = /(^|[^\[])\^/g;
-
-/**
- * @param {string | RegExp} regex
- * @param {string} opt
- */
+var caret = /(^|[^\[])\^/g;
function edit(regex, opt) {
- regex = typeof regex === 'string' ? regex : regex.source;
- opt = opt || '';
+ regex = typeof regex === "string" ? regex : regex.source;
+ opt = opt || "";
const obj = {
replace: (name, val) => {
- val = val.source || val;
- val = val.replace(caret, '$1');
+ val = typeof val === "object" && "source" in val ? val.source : val;
+ val = val.replace(caret, "$1");
regex = regex.replace(name, val);
return obj;
},
@@ -110,26 +107,17 @@ function edit(regex, opt) {
};
return obj;
}
-
-const nonWordAndColonTest = /[^\w:]/g;
-const originIndependentUrl = /^$|^[a-z][a-z0-9+.-]*:|^[?#]/i;
-
-/**
- * @param {boolean} sanitize
- * @param {string} base
- * @param {string} href
- */
+var nonWordAndColonTest = /[^\w:]/g;
+var originIndependentUrl = /^$|^[a-z][a-z0-9+.-]*:|^[?#]/i;
function cleanUrl(sanitize, base, href) {
if (sanitize) {
let prot;
try {
- prot = decodeURIComponent(unescape(href))
- .replace(nonWordAndColonTest, '')
- .toLowerCase();
+ prot = decodeURIComponent(unescape(href)).replace(nonWordAndColonTest, "").toLowerCase();
} catch (e) {
return null;
}
- if (prot.indexOf('javascript:') === 0 || prot.indexOf('vbscript:') === 0 || prot.indexOf('data:') === 0) {
+ if (prot.indexOf("javascript:") === 0 || prot.indexOf("vbscript:") === 0 || prot.indexOf("data:") === 0) {
return null;
}
}
@@ -137,107 +125,76 @@ function cleanUrl(sanitize, base, href) {
href = resolveUrl(base, href);
}
try {
- href = encodeURI(href).replace(/%25/g, '%');
+ href = encodeURI(href).replace(/%25/g, "%");
} catch (e) {
return null;
}
return href;
}
-
-const baseUrls = {};
-const justDomain = /^[^:]+:\/*[^/]*$/;
-const protocol = /^([^:]+:)[\s\S]*$/;
-const domain = /^([^:]+:\/*[^/]*)[\s\S]*$/;
-
-/**
- * @param {string} base
- * @param {string} href
- */
+var baseUrls = {};
+var justDomain = /^[^:]+:\/*[^/]*$/;
+var protocol = /^([^:]+:)[\s\S]*$/;
+var domain = /^([^:]+:\/*[^/]*)[\s\S]*$/;
function resolveUrl(base, href) {
- if (!baseUrls[' ' + base]) {
- // we can ignore everything in base after the last slash of its path component,
- // but we might need to add _that_
- // https://tools.ietf.org/html/rfc3986#section-3
+ if (!baseUrls[" " + base]) {
if (justDomain.test(base)) {
- baseUrls[' ' + base] = base + '/';
+ baseUrls[" " + base] = base + "/";
} else {
- baseUrls[' ' + base] = rtrim(base, '/', true);
+ baseUrls[" " + base] = rtrim(base, "/", true);
}
}
- base = baseUrls[' ' + base];
- const relativeBase = base.indexOf(':') === -1;
-
- if (href.substring(0, 2) === '//') {
+ base = baseUrls[" " + base];
+ const relativeBase = base.indexOf(":") === -1;
+ if (href.substring(0, 2) === "//") {
if (relativeBase) {
return href;
}
- return base.replace(protocol, '$1') + href;
- } else if (href.charAt(0) === '/') {
+ return base.replace(protocol, "$1") + href;
+ } else if (href.charAt(0) === "/") {
if (relativeBase) {
return href;
}
- return base.replace(domain, '$1') + href;
+ return base.replace(domain, "$1") + href;
} else {
return base + href;
}
}
-
-const noopTest = { exec: function noopTest() {} };
-
+var noopTest = { exec: () => null };
function splitCells(tableRow, count) {
- // ensure that every cell-delimiting pipe has a space
- // before it to distinguish it from an escaped pipe
const row = tableRow.replace(/\|/g, (match, offset, str) => {
- let escaped = false,
- curr = offset;
- while (--curr >= 0 && str[curr] === '\\') escaped = !escaped;
- if (escaped) {
- // odd number of slashes means | is escaped
- // so we leave it alone
- return '|';
- } else {
- // add space before unescaped |
- return ' |';
- }
- }),
- cells = row.split(/ \|/);
+ let escaped = false, curr = offset;
+ while (--curr >= 0 && str[curr] === "\\")
+ escaped = !escaped;
+ if (escaped) {
+ return "|";
+ } else {
+ return " |";
+ }
+ }), cells = row.split(/ \|/);
let i = 0;
-
- // First/last cell in a row cannot be empty if it has no leading/trailing pipe
- if (!cells[0].trim()) { cells.shift(); }
- if (cells.length > 0 && !cells[cells.length - 1].trim()) { cells.pop(); }
-
+ if (!cells[0].trim()) {
+ cells.shift();
+ }
+ if (cells.length > 0 && !cells[cells.length - 1].trim()) {
+ cells.pop();
+ }
if (cells.length > count) {
cells.splice(count);
} else {
- while (cells.length < count) cells.push('');
+ while (cells.length < count)
+ cells.push("");
}
-
for (; i < cells.length; i++) {
- // leading or trailing whitespace is ignored per the gfm spec
- cells[i] = cells[i].trim().replace(/\\\|/g, '|');
+ cells[i] = cells[i].trim().replace(/\\\|/g, "|");
}
return cells;
}
-
-/**
- * Remove trailing 'c's. Equivalent to str.replace(/c*$/, '').
- * /c*$/ is vulnerable to REDOS.
- *
- * @param {string} str
- * @param {string} c
- * @param {boolean} invert Remove suffix of non-c chars instead. Default falsey.
- */
function rtrim(str, c, invert) {
const l = str.length;
if (l === 0) {
- return '';
+ return "";
}
-
- // Length of suffix matching the invert condition.
let suffLen = 0;
-
- // Step left until we fail to match the invert condition.
while (suffLen < l) {
const currChar = str.charAt(l - suffLen - 1);
if (currChar === c && !invert) {
@@ -248,19 +205,16 @@ function rtrim(str, c, invert) {
break;
}
}
-
return str.slice(0, l - suffLen);
}
-
function findClosingBracket(str, b) {
if (str.indexOf(b[1]) === -1) {
return -1;
}
const l = str.length;
- let level = 0,
- i = 0;
+ let level = 0, i = 0;
for (; i < l; i++) {
- if (str[i] === '\\') {
+ if (str[i] === "\\") {
i++;
} else if (str[i] === b[0]) {
level++;
@@ -273,166 +227,132 @@ function findClosingBracket(str, b) {
}
return -1;
}
-
function checkDeprecations(opt, callback) {
if (!opt || opt.silent) {
return;
}
-
if (callback) {
- console.warn('marked(): callback is deprecated since version 5.0.0, should not be used and will be removed in the future. Read more here: https://marked.js.org/using_pro#async');
+ console.warn("marked(): callback is deprecated since version 5.0.0, should not be used and will be removed in the future. Read more here: https://marked.js.org/using_pro#async");
}
-
if (opt.sanitize || opt.sanitizer) {
- console.warn('marked(): sanitize and sanitizer parameters are deprecated since version 0.7.0, should not be used and will be removed in the future. Read more here: https://marked.js.org/#/USING_ADVANCED.md#options');
+ console.warn("marked(): sanitize and sanitizer parameters are deprecated since version 0.7.0, should not be used and will be removed in the future. Read more here: https://marked.js.org/#/USING_ADVANCED.md#options");
}
-
- if (opt.highlight || opt.langPrefix !== 'language-') {
- console.warn('marked(): highlight and langPrefix parameters are deprecated since version 5.0.0, should not be used and will be removed in the future. Instead use https://www.npmjs.com/package/marked-highlight.');
+ if (opt.highlight || opt.langPrefix !== "language-") {
+ console.warn("marked(): highlight and langPrefix parameters are deprecated since version 5.0.0, should not be used and will be removed in the future. Instead use https://www.npmjs.com/package/marked-highlight.");
}
-
if (opt.mangle) {
- console.warn('marked(): mangle parameter is enabled by default, but is deprecated since version 5.0.0, and will be removed in the future. To clear this warning, install https://www.npmjs.com/package/marked-mangle, or disable by setting `{mangle: false}`.');
+ console.warn("marked(): mangle parameter is enabled by default, but is deprecated since version 5.0.0, and will be removed in the future. To clear this warning, install https://www.npmjs.com/package/marked-mangle, or disable by setting `{mangle: false}`.");
}
-
if (opt.baseUrl) {
- console.warn('marked(): baseUrl parameter is deprecated since version 5.0.0, should not be used and will be removed in the future. Instead use https://www.npmjs.com/package/marked-base-url.');
+ console.warn("marked(): baseUrl parameter is deprecated since version 5.0.0, should not be used and will be removed in the future. Instead use https://www.npmjs.com/package/marked-base-url.");
}
-
if (opt.smartypants) {
- console.warn('marked(): smartypants parameter is deprecated since version 5.0.0, should not be used and will be removed in the future. Instead use https://www.npmjs.com/package/marked-smartypants.');
+ console.warn("marked(): smartypants parameter is deprecated since version 5.0.0, should not be used and will be removed in the future. Instead use https://www.npmjs.com/package/marked-smartypants.");
}
-
if (opt.xhtml) {
- console.warn('marked(): xhtml parameter is deprecated since version 5.0.0, should not be used and will be removed in the future. Instead use https://www.npmjs.com/package/marked-xhtml.');
+ console.warn("marked(): xhtml parameter is deprecated since version 5.0.0, should not be used and will be removed in the future. Instead use https://www.npmjs.com/package/marked-xhtml.");
}
-
if (opt.headerIds || opt.headerPrefix) {
- console.warn('marked(): headerIds and headerPrefix parameters enabled by default, but are deprecated since version 5.0.0, and will be removed in the future. To clear this warning, install https://www.npmjs.com/package/marked-gfm-heading-id, or disable by setting `{headerIds: false}`.');
+ console.warn("marked(): headerIds and headerPrefix parameters enabled by default, but are deprecated since version 5.0.0, and will be removed in the future. To clear this warning, install https://www.npmjs.com/package/marked-gfm-heading-id, or disable by setting `{headerIds: false}`.");
}
}
-function outputLink(cap, link, raw, lexer) {
+// src/Tokenizer.ts
+function outputLink(cap, link, raw, lexer2) {
const href = link.href;
const title = link.title ? escape(link.title) : null;
- const text = cap[1].replace(/\\([\[\]])/g, '$1');
-
- if (cap[0].charAt(0) !== '!') {
- lexer.state.inLink = true;
+ const text = cap[1].replace(/\\([\[\]])/g, "$1");
+ if (cap[0].charAt(0) !== "!") {
+ lexer2.state.inLink = true;
const token = {
- type: 'link',
+ type: "link",
raw,
href,
title,
text,
- tokens: lexer.inlineTokens(text)
+ tokens: lexer2.inlineTokens(text)
};
- lexer.state.inLink = false;
+ lexer2.state.inLink = false;
return token;
}
return {
- type: 'image',
+ type: "image",
raw,
href,
title,
text: escape(text)
};
}
-
function indentCodeCompensation(raw, text) {
const matchIndentToCode = raw.match(/^(\s+)(?:```)/);
-
if (matchIndentToCode === null) {
return text;
}
-
const indentToCode = matchIndentToCode[1];
-
- return text
- .split('\n')
- .map(node => {
- const matchIndentInNode = node.match(/^\s+/);
- if (matchIndentInNode === null) {
- return node;
- }
-
- const [indentInNode] = matchIndentInNode;
-
- if (indentInNode.length >= indentToCode.length) {
- return node.slice(indentToCode.length);
- }
-
+ return text.split("\n").map((node) => {
+ const matchIndentInNode = node.match(/^\s+/);
+ if (matchIndentInNode === null) {
return node;
- })
- .join('\n');
+ }
+ const [indentInNode] = matchIndentInNode;
+ if (indentInNode.length >= indentToCode.length) {
+ return node.slice(indentToCode.length);
+ }
+ return node;
+ }).join("\n");
}
-
-/**
- * Tokenizer
- */
-class Tokenizer {
- constructor(options) {
- this.options = options || defaults;
+var _Tokenizer = class {
+ constructor(options2) {
+ this.options = options2 || _defaults;
}
-
space(src) {
const cap = this.rules.block.newline.exec(src);
if (cap && cap[0].length > 0) {
return {
- type: 'space',
+ type: "space",
raw: cap[0]
};
}
}
-
code(src) {
const cap = this.rules.block.code.exec(src);
if (cap) {
- const text = cap[0].replace(/^ {1,4}/gm, '');
+ const text = cap[0].replace(/^ {1,4}/gm, "");
return {
- type: 'code',
+ type: "code",
raw: cap[0],
- codeBlockStyle: 'indented',
- text: !this.options.pedantic
- ? rtrim(text, '\n')
- : text
+ codeBlockStyle: "indented",
+ text: !this.options.pedantic ? rtrim(text, "\n") : text
};
}
}
-
fences(src) {
const cap = this.rules.block.fences.exec(src);
if (cap) {
const raw = cap[0];
- const text = indentCodeCompensation(raw, cap[3] || '');
-
+ const text = indentCodeCompensation(raw, cap[3] || "");
return {
- type: 'code',
+ type: "code",
raw,
- lang: cap[2] ? cap[2].trim().replace(this.rules.inline._escapes, '$1') : cap[2],
+ lang: cap[2] ? cap[2].trim().replace(this.rules.inline._escapes, "$1") : cap[2],
text
};
}
}
-
heading(src) {
const cap = this.rules.block.heading.exec(src);
if (cap) {
let text = cap[2].trim();
-
- // remove trailing #s
if (/#$/.test(text)) {
- const trimmed = rtrim(text, '#');
+ const trimmed = rtrim(text, "#");
if (this.options.pedantic) {
text = trimmed.trim();
} else if (!trimmed || / $/.test(trimmed)) {
- // CommonMark requires space before trailing #s
text = trimmed.trim();
}
}
-
return {
- type: 'heading',
+ type: "heading",
raw: cap[0],
depth: cap[1].length,
text,
@@ -440,142 +360,107 @@ class Tokenizer {
};
}
}
-
hr(src) {
const cap = this.rules.block.hr.exec(src);
if (cap) {
return {
- type: 'hr',
+ type: "hr",
raw: cap[0]
};
}
}
-
blockquote(src) {
const cap = this.rules.block.blockquote.exec(src);
if (cap) {
- const text = cap[0].replace(/^ *>[ \t]?/gm, '');
+ const text = cap[0].replace(/^ *>[ \t]?/gm, "");
const top = this.lexer.state.top;
this.lexer.state.top = true;
const tokens = this.lexer.blockTokens(text);
this.lexer.state.top = top;
return {
- type: 'blockquote',
+ type: "blockquote",
raw: cap[0],
tokens,
text
};
}
}
-
list(src) {
let cap = this.rules.block.list.exec(src);
if (cap) {
- let raw, istask, ischecked, indent, i, blankLine, endsWithBlankLine,
- line, nextLine, rawLine, itemContents, endEarly;
-
+ let raw, istask, ischecked, indent, i, blankLine, endsWithBlankLine, line, nextLine, rawLine, itemContents, endEarly;
let bull = cap[1].trim();
const isordered = bull.length > 1;
-
const list = {
- type: 'list',
- raw: '',
+ type: "list",
+ raw: "",
ordered: isordered,
- start: isordered ? +bull.slice(0, -1) : '',
+ start: isordered ? +bull.slice(0, -1) : "",
loose: false,
items: []
};
-
bull = isordered ? `\\d{1,9}\\${bull.slice(-1)}` : `\\${bull}`;
-
if (this.options.pedantic) {
- bull = isordered ? bull : '[*+-]';
+ bull = isordered ? bull : "[*+-]";
}
-
- // Get next list item
- const itemRegex = new RegExp(`^( {0,3}${bull})((?:[\t ][^\\n]*)?(?:\\n|$))`);
-
- // Check if current bullet point can start a new List Item
+ const itemRegex = new RegExp(`^( {0,3}${bull})((?:[ ][^\\n]*)?(?:\\n|$))`);
while (src) {
endEarly = false;
if (!(cap = itemRegex.exec(src))) {
break;
}
-
- if (this.rules.block.hr.test(src)) { // End list if bullet was actually HR (possibly move into itemRegex?)
+ if (this.rules.block.hr.test(src)) {
break;
}
-
raw = cap[0];
src = src.substring(raw.length);
-
- line = cap[2].split('\n', 1)[0].replace(/^\t+/, (t) => ' '.repeat(3 * t.length));
- nextLine = src.split('\n', 1)[0];
-
+ line = cap[2].split("\n", 1)[0].replace(/^\t+/, (t) => " ".repeat(3 * t.length));
+ nextLine = src.split("\n", 1)[0];
if (this.options.pedantic) {
indent = 2;
itemContents = line.trimLeft();
} else {
- indent = cap[2].search(/[^ ]/); // Find first non-space char
- indent = indent > 4 ? 1 : indent; // Treat indented code blocks (> 4 spaces) as having only 1 indent
+ indent = cap[2].search(/[^ ]/);
+ indent = indent > 4 ? 1 : indent;
itemContents = line.slice(indent);
indent += cap[1].length;
}
-
blankLine = false;
-
- if (!line && /^ *$/.test(nextLine)) { // Items begin with at most one blank line
- raw += nextLine + '\n';
+ if (!line && /^ *$/.test(nextLine)) {
+ raw += nextLine + "\n";
src = src.substring(nextLine.length + 1);
endEarly = true;
}
-
if (!endEarly) {
- const nextBulletRegex = new RegExp(`^ {0,${Math.min(3, indent - 1)}}(?:[*+-]|\\d{1,9}[.)])((?:[ \t][^\\n]*)?(?:\\n|$))`);
+ const nextBulletRegex = new RegExp(`^ {0,${Math.min(3, indent - 1)}}(?:[*+-]|\\d{1,9}[.)])((?:[ ][^\\n]*)?(?:\\n|$))`);
const hrRegex = new RegExp(`^ {0,${Math.min(3, indent - 1)}}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)`);
const fencesBeginRegex = new RegExp(`^ {0,${Math.min(3, indent - 1)}}(?:\`\`\`|~~~)`);
const headingBeginRegex = new RegExp(`^ {0,${Math.min(3, indent - 1)}}#`);
-
- // Check if following lines should be included in List Item
while (src) {
- rawLine = src.split('\n', 1)[0];
+ rawLine = src.split("\n", 1)[0];
nextLine = rawLine;
-
- // Re-align to follow commonmark nesting rules
if (this.options.pedantic) {
- nextLine = nextLine.replace(/^ {1,4}(?=( {4})*[^ ])/g, ' ');
+ nextLine = nextLine.replace(/^ {1,4}(?=( {4})*[^ ])/g, " ");
}
-
- // End list item if found code fences
if (fencesBeginRegex.test(nextLine)) {
break;
}
-
- // End list item if found start of new heading
if (headingBeginRegex.test(nextLine)) {
break;
}
-
- // End list item if found start of new bullet
if (nextBulletRegex.test(nextLine)) {
break;
}
-
- // Horizontal rule found
if (hrRegex.test(src)) {
break;
}
-
- if (nextLine.search(/[^ ]/) >= indent || !nextLine.trim()) { // Dedent if possible
- itemContents += '\n' + nextLine.slice(indent);
+ if (nextLine.search(/[^ ]/) >= indent || !nextLine.trim()) {
+ itemContents += "\n" + nextLine.slice(indent);
} else {
- // not enough indentation
if (blankLine) {
break;
}
-
- // paragraph continuation unless last line was a different block level element
- if (line.search(/[^ ]/) >= 4) { // indented code block
+ if (line.search(/[^ ]/) >= 4) {
break;
}
if (fencesBeginRegex.test(line)) {
@@ -587,111 +472,89 @@ class Tokenizer {
if (hrRegex.test(line)) {
break;
}
-
- itemContents += '\n' + nextLine;
+ itemContents += "\n" + nextLine;
}
-
- if (!blankLine && !nextLine.trim()) { // Check if current line is blank
+ if (!blankLine && !nextLine.trim()) {
blankLine = true;
}
-
- raw += rawLine + '\n';
+ raw += rawLine + "\n";
src = src.substring(rawLine.length + 1);
line = nextLine.slice(indent);
}
}
-
if (!list.loose) {
- // If the previous item ended with a blank line, the list is loose
if (endsWithBlankLine) {
list.loose = true;
} else if (/\n *\n *$/.test(raw)) {
endsWithBlankLine = true;
}
}
-
- // Check for task list items
if (this.options.gfm) {
istask = /^\[[ xX]\] /.exec(itemContents);
if (istask) {
- ischecked = istask[0] !== '[ ] ';
- itemContents = itemContents.replace(/^\[[ xX]\] +/, '');
+ ischecked = istask[0] !== "[ ] ";
+ itemContents = itemContents.replace(/^\[[ xX]\] +/, "");
}
}
-
list.items.push({
- type: 'list_item',
+ type: "list_item",
raw,
task: !!istask,
checked: ischecked,
loose: false,
text: itemContents
});
-
list.raw += raw;
}
-
- // Do not consume newlines at end of final item. Alternatively, make itemRegex *start* with any newlines to simplify/speed up endsWithBlankLine logic
list.items[list.items.length - 1].raw = raw.trimRight();
list.items[list.items.length - 1].text = itemContents.trimRight();
list.raw = list.raw.trimRight();
-
const l = list.items.length;
-
- // Item child tokens handled here at end because we needed to have the final item to trim it first
for (i = 0; i < l; i++) {
this.lexer.state.top = false;
list.items[i].tokens = this.lexer.blockTokens(list.items[i].text, []);
-
if (!list.loose) {
- // Check if list should be loose
- const spacers = list.items[i].tokens.filter(t => t.type === 'space');
- const hasMultipleLineBreaks = spacers.length > 0 && spacers.some(t => /\n.*\n/.test(t.raw));
-
+ const spacers = list.items[i].tokens.filter((t) => t.type === "space");
+ const hasMultipleLineBreaks = spacers.length > 0 && spacers.some((t) => /\n.*\n/.test(t.raw));
list.loose = hasMultipleLineBreaks;
}
}
-
- // Set all items to loose if list is loose
if (list.loose) {
for (i = 0; i < l; i++) {
list.items[i].loose = true;
}
}
-
return list;
}
}
-
html(src) {
const cap = this.rules.block.html.exec(src);
if (cap) {
const token = {
- type: 'html',
+ type: "html",
block: true,
raw: cap[0],
- pre: !this.options.sanitizer
- && (cap[1] === 'pre' || cap[1] === 'script' || cap[1] === 'style'),
+ pre: !this.options.sanitizer && (cap[1] === "pre" || cap[1] === "script" || cap[1] === "style"),
text: cap[0]
};
if (this.options.sanitize) {
const text = this.options.sanitizer ? this.options.sanitizer(cap[0]) : escape(cap[0]);
- token.type = 'paragraph';
- token.text = text;
- token.tokens = this.lexer.inline(text);
+ const paragraph = token;
+ paragraph.type = "paragraph";
+ paragraph.text = text;
+ paragraph.tokens = this.lexer.inline(text);
}
return token;
}
}
-
def(src) {
const cap = this.rules.block.def.exec(src);
if (cap) {
- const tag = cap[1].toLowerCase().replace(/\s+/g, ' ');
- const href = cap[2] ? cap[2].replace(/^<(.*)>$/, '$1').replace(this.rules.inline._escapes, '$1') : '';
- const title = cap[3] ? cap[3].substring(1, cap[3].length - 1).replace(this.rules.inline._escapes, '$1') : cap[3];
+ const tag = cap[1].toLowerCase().replace(/\s+/g, " ");
+ const href = cap[2] ? cap[2].replace(/^<(.*)>$/, "$1").replace(this.rules.inline._escapes, "$1") : "";
+ const title = cap[3] ? cap[3].substring(1, cap[3].length - 1).replace(this.rules.inline._escapes, "$1") : cap[3];
return {
- type: 'def',
+ type: "def",
tag,
raw: cap[0],
href,
@@ -699,48 +562,44 @@ class Tokenizer {
};
}
}
-
table(src) {
const cap = this.rules.block.table.exec(src);
if (cap) {
const item = {
- type: 'table',
- header: splitCells(cap[1]).map(c => { return { text: c }; }),
- align: cap[2].replace(/^ *|\| *$/g, '').split(/ *\| */),
- rows: cap[3] && cap[3].trim() ? cap[3].replace(/\n[ \t]*$/, '').split('\n') : []
+ type: "table",
+ // splitCells expects a number as second argument
+ // @ts-expect-error
+ header: splitCells(cap[1]).map((c) => {
+ return { text: c };
+ }),
+ align: cap[2].replace(/^ *|\| *$/g, "").split(/ *\| */),
+ rows: cap[3] && cap[3].trim() ? cap[3].replace(/\n[ \t]*$/, "").split("\n") : []
};
-
if (item.header.length === item.align.length) {
item.raw = cap[0];
-
let l = item.align.length;
let i, j, k, row;
for (i = 0; i < l; i++) {
if (/^ *-+: *$/.test(item.align[i])) {
- item.align[i] = 'right';
+ item.align[i] = "right";
} else if (/^ *:-+: *$/.test(item.align[i])) {
- item.align[i] = 'center';
+ item.align[i] = "center";
} else if (/^ *:-+ *$/.test(item.align[i])) {
- item.align[i] = 'left';
+ item.align[i] = "left";
} else {
item.align[i] = null;
}
}
-
l = item.rows.length;
for (i = 0; i < l; i++) {
- item.rows[i] = splitCells(item.rows[i], item.header.length).map(c => { return { text: c }; });
+ item.rows[i] = splitCells(item.rows[i], item.header.length).map((c) => {
+ return { text: c };
+ });
}
-
- // parse child tokens inside headers and cells
-
- // header child tokens
l = item.header.length;
for (j = 0; j < l; j++) {
item.header[j].tokens = this.lexer.inline(item.header[j].text);
}
-
- // cell child tokens
l = item.rows.length;
for (j = 0; j < l; j++) {
row = item.rows[j];
@@ -748,63 +607,55 @@ class Tokenizer {
row[k].tokens = this.lexer.inline(row[k].text);
}
}
-
return item;
}
}
}
-
lheading(src) {
const cap = this.rules.block.lheading.exec(src);
if (cap) {
return {
- type: 'heading',
+ type: "heading",
raw: cap[0],
- depth: cap[2].charAt(0) === '=' ? 1 : 2,
+ depth: cap[2].charAt(0) === "=" ? 1 : 2,
text: cap[1],
tokens: this.lexer.inline(cap[1])
};
}
}
-
paragraph(src) {
const cap = this.rules.block.paragraph.exec(src);
if (cap) {
- const text = cap[1].charAt(cap[1].length - 1) === '\n'
- ? cap[1].slice(0, -1)
- : cap[1];
+ const text = cap[1].charAt(cap[1].length - 1) === "\n" ? cap[1].slice(0, -1) : cap[1];
return {
- type: 'paragraph',
+ type: "paragraph",
raw: cap[0],
text,
tokens: this.lexer.inline(text)
};
}
}
-
text(src) {
const cap = this.rules.block.text.exec(src);
if (cap) {
return {
- type: 'text',
+ type: "text",
raw: cap[0],
text: cap[0],
tokens: this.lexer.inline(cap[0])
};
}
}
-
escape(src) {
const cap = this.rules.inline.escape.exec(src);
if (cap) {
return {
- type: 'escape',
+ type: "escape",
raw: cap[0],
text: escape(cap[1])
};
}
}
-
tag(src) {
const cap = this.rules.inline.tag.exec(src);
if (cap) {
@@ -818,90 +669,72 @@ class Tokenizer {
} else if (this.lexer.state.inRawBlock && /^<\/(pre|code|kbd|script)(\s|>)/i.test(cap[0])) {
this.lexer.state.inRawBlock = false;
}
-
return {
- type: this.options.sanitize
- ? 'text'
- : 'html',
+ type: this.options.sanitize ? "text" : "html",
raw: cap[0],
inLink: this.lexer.state.inLink,
inRawBlock: this.lexer.state.inRawBlock,
block: false,
- text: this.options.sanitize
- ? (this.options.sanitizer
- ? this.options.sanitizer(cap[0])
- : escape(cap[0]))
- : cap[0]
+ text: this.options.sanitize ? this.options.sanitizer ? this.options.sanitizer(cap[0]) : escape(cap[0]) : cap[0]
};
}
}
-
link(src) {
const cap = this.rules.inline.link.exec(src);
if (cap) {
const trimmedUrl = cap[2].trim();
if (!this.options.pedantic && /^$/.test(trimmedUrl))) {
+ if (!/>$/.test(trimmedUrl)) {
return;
}
-
- // ending angle bracket cannot be escaped
- const rtrimSlash = rtrim(trimmedUrl.slice(0, -1), '\\');
+ const rtrimSlash = rtrim(trimmedUrl.slice(0, -1), "\\");
if ((trimmedUrl.length - rtrimSlash.length) % 2 === 0) {
return;
}
} else {
- // find closing parenthesis
- const lastParenIndex = findClosingBracket(cap[2], '()');
+ const lastParenIndex = findClosingBracket(cap[2], "()");
if (lastParenIndex > -1) {
- const start = cap[0].indexOf('!') === 0 ? 5 : 4;
+ const start = cap[0].indexOf("!") === 0 ? 5 : 4;
const linkLen = start + cap[1].length + lastParenIndex;
cap[2] = cap[2].substring(0, lastParenIndex);
cap[0] = cap[0].substring(0, linkLen).trim();
- cap[3] = '';
+ cap[3] = "";
}
}
let href = cap[2];
- let title = '';
+ let title = "";
if (this.options.pedantic) {
- // split pedantic href and title
const link = /^([^'"]*[^\s])\s+(['"])(.*)\2/.exec(href);
-
if (link) {
href = link[1];
title = link[3];
}
} else {
- title = cap[3] ? cap[3].slice(1, -1) : '';
+ title = cap[3] ? cap[3].slice(1, -1) : "";
}
-
href = href.trim();
if (/^$/.test(trimmedUrl))) {
- // pedantic allows starting angle bracket without ending angle bracket
+ if (this.options.pedantic && !/>$/.test(trimmedUrl)) {
href = href.slice(1);
} else {
href = href.slice(1, -1);
}
}
return outputLink(cap, {
- href: href ? href.replace(this.rules.inline._escapes, '$1') : href,
- title: title ? title.replace(this.rules.inline._escapes, '$1') : title
+ href: href ? href.replace(this.rules.inline._escapes, "$1") : href,
+ title: title ? title.replace(this.rules.inline._escapes, "$1") : title
}, cap[0], this.lexer);
}
}
-
reflink(src, links) {
let cap;
- if ((cap = this.rules.inline.reflink.exec(src))
- || (cap = this.rules.inline.nolink.exec(src))) {
- let link = (cap[2] || cap[1]).replace(/\s+/g, ' ');
+ if ((cap = this.rules.inline.reflink.exec(src)) || (cap = this.rules.inline.nolink.exec(src))) {
+ let link = (cap[2] || cap[1]).replace(/\s+/g, " ");
link = links[link.toLowerCase()];
if (!link) {
const text = cap[0].charAt(0);
return {
- type: 'text',
+ type: "text",
raw: text,
text
};
@@ -909,67 +742,50 @@ class Tokenizer {
return outputLink(cap, link, cap[0], this.lexer);
}
}
-
- emStrong(src, maskedSrc, prevChar = '') {
+ emStrong(src, maskedSrc, prevChar = "") {
let match = this.rules.inline.emStrong.lDelim.exec(src);
- if (!match) return;
-
- // _ can't be between two alphanumerics. \p{L}\p{N} includes non-english alphabet/numbers as well
- if (match[3] && prevChar.match(/[\p{L}\p{N}]/u)) return;
-
- const nextChar = match[1] || match[2] || '';
-
+ if (!match)
+ return;
+ if (match[3] && prevChar.match(/[\p{L}\p{N}]/u))
+ return;
+ const nextChar = match[1] || match[2] || "";
if (!nextChar || !prevChar || this.rules.inline.punctuation.exec(prevChar)) {
const lLength = match[0].length - 1;
let rDelim, rLength, delimTotal = lLength, midDelimTotal = 0;
-
- const endReg = match[0][0] === '*' ? this.rules.inline.emStrong.rDelimAst : this.rules.inline.emStrong.rDelimUnd;
+ const endReg = match[0][0] === "*" ? this.rules.inline.emStrong.rDelimAst : this.rules.inline.emStrong.rDelimUnd;
endReg.lastIndex = 0;
-
- // Clip maskedSrc to same section of string as src (move to lexer?)
maskedSrc = maskedSrc.slice(-1 * src.length + lLength);
-
while ((match = endReg.exec(maskedSrc)) != null) {
rDelim = match[1] || match[2] || match[3] || match[4] || match[5] || match[6];
-
- if (!rDelim) continue; // skip single * in __abc*abc__
-
+ if (!rDelim)
+ continue;
rLength = rDelim.length;
-
- if (match[3] || match[4]) { // found another Left Delim
+ if (match[3] || match[4]) {
delimTotal += rLength;
continue;
- } else if (match[5] || match[6]) { // either Left or Right Delim
+ } else if (match[5] || match[6]) {
if (lLength % 3 && !((lLength + rLength) % 3)) {
midDelimTotal += rLength;
- continue; // CommonMark Emphasis Rules 9-10
+ continue;
}
}
-
delimTotal -= rLength;
-
- if (delimTotal > 0) continue; // Haven't found enough closing delimiters
-
- // Remove extra characters. *a*** -> *a*
+ if (delimTotal > 0)
+ continue;
rLength = Math.min(rLength, rLength + delimTotal + midDelimTotal);
-
const raw = src.slice(0, lLength + match.index + rLength + 1);
-
- // Create `em` if smallest delimiter has odd char count. *a***
if (Math.min(lLength, rLength) % 2) {
- const text = raw.slice(1, -1);
+ const text2 = raw.slice(1, -1);
return {
- type: 'em',
+ type: "em",
raw,
- text,
- tokens: this.lexer.inlineTokens(text)
+ text: text2,
+ tokens: this.lexer.inlineTokens(text2)
};
}
-
- // Create 'strong' if smallest delimiter has even char count. **a***
const text = raw.slice(2, -2);
return {
- type: 'strong',
+ type: "strong",
raw,
text,
tokens: this.lexer.inlineTokens(text)
@@ -977,11 +793,10 @@ class Tokenizer {
}
}
}
-
codespan(src) {
const cap = this.rules.inline.code.exec(src);
if (cap) {
- let text = cap[2].replace(/\n/g, ' ');
+ let text = cap[2].replace(/\n/g, " ");
const hasNonSpaceChars = /[^ ]/.test(text);
const hasSpaceCharsOnBothEnds = /^ /.test(text) && / $/.test(text);
if (hasNonSpaceChars && hasSpaceCharsOnBothEnds) {
@@ -989,55 +804,51 @@ class Tokenizer {
}
text = escape(text, true);
return {
- type: 'codespan',
+ type: "codespan",
raw: cap[0],
text
};
}
}
-
br(src) {
const cap = this.rules.inline.br.exec(src);
if (cap) {
return {
- type: 'br',
+ type: "br",
raw: cap[0]
};
}
}
-
del(src) {
const cap = this.rules.inline.del.exec(src);
if (cap) {
return {
- type: 'del',
+ type: "del",
raw: cap[0],
text: cap[2],
tokens: this.lexer.inlineTokens(cap[2])
};
}
}
-
- autolink(src, mangle) {
+ autolink(src, mangle2) {
const cap = this.rules.inline.autolink.exec(src);
if (cap) {
let text, href;
- if (cap[2] === '@') {
- text = escape(this.options.mangle ? mangle(cap[1]) : cap[1]);
- href = 'mailto:' + text;
+ if (cap[2] === "@") {
+ text = escape(this.options.mangle ? mangle2(cap[1]) : cap[1]);
+ href = "mailto:" + text;
} else {
text = escape(cap[1]);
href = text;
}
-
return {
- type: 'link',
+ type: "link",
raw: cap[0],
text,
href,
tokens: [
{
- type: 'text',
+ type: "text",
raw: text,
text
}
@@ -1045,36 +856,34 @@ class Tokenizer {
};
}
}
-
- url(src, mangle) {
+ url(src, mangle2) {
let cap;
if (cap = this.rules.inline.url.exec(src)) {
let text, href;
- if (cap[2] === '@') {
- text = escape(this.options.mangle ? mangle(cap[0]) : cap[0]);
- href = 'mailto:' + text;
+ if (cap[2] === "@") {
+ text = escape(this.options.mangle ? mangle2(cap[0]) : cap[0]);
+ href = "mailto:" + text;
} else {
- // do extended autolink path validation
let prevCapZero;
do {
prevCapZero = cap[0];
cap[0] = this.rules.inline._backpedal.exec(cap[0])[0];
} while (prevCapZero !== cap[0]);
text = escape(cap[0]);
- if (cap[1] === 'www.') {
- href = 'http://' + cap[0];
+ if (cap[1] === "www.") {
+ href = "http://" + cap[0];
} else {
href = cap[0];
}
}
return {
- type: 'link',
+ type: "link",
raw: cap[0],
text,
href,
tokens: [
{
- type: 'text',
+ type: "text",
raw: text,
text
}
@@ -1082,29 +891,26 @@ class Tokenizer {
};
}
}
-
- inlineText(src, smartypants) {
+ inlineText(src, smartypants2) {
const cap = this.rules.inline.text.exec(src);
if (cap) {
let text;
if (this.lexer.state.inRawBlock) {
- text = this.options.sanitize ? (this.options.sanitizer ? this.options.sanitizer(cap[0]) : escape(cap[0])) : cap[0];
+ text = this.options.sanitize ? this.options.sanitizer ? this.options.sanitizer(cap[0]) : escape(cap[0]) : cap[0];
} else {
- text = escape(this.options.smartypants ? smartypants(cap[0]) : cap[0]);
+ text = escape(this.options.smartypants ? smartypants2(cap[0]) : cap[0]);
}
return {
- type: 'text',
+ type: "text",
raw: cap[0],
text
};
}
}
-}
+};
-/**
- * Block-Level Grammar
- */
-const block = {
+// src/rules.ts
+var block = {
newline: /^(?: *(?:\n|$))+/,
code: /^( {4}[^\n]+(?:\n(?: *(?:\n|$))*)?)+/,
fences: /^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/,
@@ -1112,16 +918,7 @@ const block = {
heading: /^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,
blockquote: /^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/,
list: /^( {0,3}bull)([ \t][^\n]+?)?(?:\n|$)/,
- html: '^ {0,3}(?:' // optional indentation
- + '<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:\\1>[^\\n]*\\n+|$)' // (1)
- + '|comment[^\\n]*(\\n+|$)' // (2)
- + '|<\\?[\\s\\S]*?(?:\\?>\\n*|$)' // (3)
- + '|\\n*|$)' // (4)
- + '|\\n*|$)' // (5)
- + '|?(tag)(?: +|\\n|/?>)[\\s\\S]*?(?:(?:\\n *)+\\n|$)' // (6)
- + '|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$)' // (7) open tag
- + '|(?!script|pre|style|textarea)[a-z][\\w-]*\\s*>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$)' // (7) closing tag
- + ')',
+ html: "^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:\\1>[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|\\n*|$)|\\n*|$)|?(tag)(?: +|\\n|/?>)[\\s\\S]*?(?:(?:\\n *)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$)|(?!script|pre|style|textarea)[a-z][\\w-]*\\s*>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$))",
def: /^ {0,3}\[(label)\]: *(?:\n *)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n *)?| *\n *)(title))? *(?:\n+|$)/,
table: noopTest,
lheading: /^((?:(?!^bull ).|\n(?!\n|bull ))+?)\n {0,3}(=+|-+) *(?:\n+|$)/,
@@ -1130,151 +927,55 @@ const block = {
_paragraph: /^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/,
text: /^[^\n]+/
};
-
block._label = /(?!\s*\])(?:\\.|[^\[\]\\])+/;
block._title = /(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/;
-block.def = edit(block.def)
- .replace('label', block._label)
- .replace('title', block._title)
- .getRegex();
-
+block.def = edit(block.def).replace("label", block._label).replace("title", block._title).getRegex();
block.bullet = /(?:[*+-]|\d{1,9}[.)])/;
-block.listItemStart = edit(/^( *)(bull) */)
- .replace('bull', block.bullet)
- .getRegex();
-
-block.list = edit(block.list)
- .replace(/bull/g, block.bullet)
- .replace('hr', '\\n+(?=\\1?(?:(?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$))')
- .replace('def', '\\n+(?=' + block.def.source + ')')
- .getRegex();
-
-block._tag = 'address|article|aside|base|basefont|blockquote|body|caption'
- + '|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption'
- + '|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe'
- + '|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option'
- + '|p|param|section|source|summary|table|tbody|td|tfoot|th|thead|title|tr'
- + '|track|ul';
+block.listItemStart = edit(/^( *)(bull) */).replace("bull", block.bullet).getRegex();
+block.list = edit(block.list).replace(/bull/g, block.bullet).replace("hr", "\\n+(?=\\1?(?:(?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$))").replace("def", "\\n+(?=" + block.def.source + ")").getRegex();
+block._tag = "address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|section|source|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul";
block._comment = /|$)/;
-block.html = edit(block.html, 'i')
- .replace('comment', block._comment)
- .replace('tag', block._tag)
- .replace('attribute', / +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/)
- .getRegex();
-
-block.lheading = edit(block.lheading)
- .replace(/bull/g, block.bullet) // lists can interrupt
- .getRegex();
-
-block.paragraph = edit(block._paragraph)
- .replace('hr', block.hr)
- .replace('heading', ' {0,3}#{1,6} ')
- .replace('|lheading', '') // setex headings don't interrupt commonmark paragraphs
- .replace('|table', '')
- .replace('blockquote', ' {0,3}>')
- .replace('fences', ' {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n')
- .replace('list', ' {0,3}(?:[*+-]|1[.)]) ') // only lists starting from 1 can interrupt
- .replace('html', '?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)')
- .replace('tag', block._tag) // pars can be interrupted by type (6) html blocks
- .getRegex();
-
-block.blockquote = edit(block.blockquote)
- .replace('paragraph', block.paragraph)
- .getRegex();
-
-/**
- * Normal Block Grammar
- */
-
+block.html = edit(block.html, "i").replace("comment", block._comment).replace("tag", block._tag).replace("attribute", / +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex();
+block.lheading = edit(block.lheading).replace(/bull/g, block.bullet).getRegex();
+block.paragraph = edit(block._paragraph).replace("hr", block.hr).replace("heading", " {0,3}#{1,6} ").replace("|lheading", "").replace("|table", "").replace("blockquote", " {0,3}>").replace("fences", " {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list", " {0,3}(?:[*+-]|1[.)]) ").replace("html", "?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag", block._tag).getRegex();
+block.blockquote = edit(block.blockquote).replace("paragraph", block.paragraph).getRegex();
block.normal = { ...block };
-
-/**
- * GFM Block Grammar
- */
-
block.gfm = {
...block.normal,
- table: '^ *([^\\n ].*\\|.*)\\n' // Header
- + ' {0,3}(?:\\| *)?(:?-+:? *(?:\\| *:?-+:? *)*)(?:\\| *)?' // Align
- + '(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)' // Cells
+ table: "^ *([^\\n ].*\\|.*)\\n {0,3}(?:\\| *)?(:?-+:? *(?:\\| *:?-+:? *)*)(?:\\| *)?(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)"
+ // Cells
};
-
-block.gfm.table = edit(block.gfm.table)
- .replace('hr', block.hr)
- .replace('heading', ' {0,3}#{1,6} ')
- .replace('blockquote', ' {0,3}>')
- .replace('code', ' {4}[^\\n]')
- .replace('fences', ' {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n')
- .replace('list', ' {0,3}(?:[*+-]|1[.)]) ') // only lists starting from 1 can interrupt
- .replace('html', '?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)')
- .replace('tag', block._tag) // tables can be interrupted by type (6) html blocks
- .getRegex();
-
-block.gfm.paragraph = edit(block._paragraph)
- .replace('hr', block.hr)
- .replace('heading', ' {0,3}#{1,6} ')
- .replace('|lheading', '') // setex headings don't interrupt commonmark paragraphs
- .replace('table', block.gfm.table) // interrupt paragraphs with table
- .replace('blockquote', ' {0,3}>')
- .replace('fences', ' {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n')
- .replace('list', ' {0,3}(?:[*+-]|1[.)]) ') // only lists starting from 1 can interrupt
- .replace('html', '?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)')
- .replace('tag', block._tag) // pars can be interrupted by type (6) html blocks
- .getRegex();
-/**
- * Pedantic grammar (original John Gruber's loose markdown specification)
- */
-
+block.gfm.table = edit(block.gfm.table).replace("hr", block.hr).replace("heading", " {0,3}#{1,6} ").replace("blockquote", " {0,3}>").replace("code", " {4}[^\\n]").replace("fences", " {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list", " {0,3}(?:[*+-]|1[.)]) ").replace("html", "?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag", block._tag).getRegex();
+block.gfm.paragraph = edit(block._paragraph).replace("hr", block.hr).replace("heading", " {0,3}#{1,6} ").replace("|lheading", "").replace("table", block.gfm.table).replace("blockquote", " {0,3}>").replace("fences", " {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list", " {0,3}(?:[*+-]|1[.)]) ").replace("html", "?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag", block._tag).getRegex();
block.pedantic = {
...block.normal,
html: edit(
- '^ *(?:comment *(?:\\n|\\s*$)'
- + '|<(tag)[\\s\\S]+?\\1> *(?:\\n{2,}|\\s*$)' // closed tag
- + '| \\s]*)*?/?> *(?:\\n{2,}|\\s*$))')
- .replace('comment', block._comment)
- .replace(/tag/g, '(?!(?:'
- + 'a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub'
- + '|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)'
- + '\\b)\\w+(?!:|[^\\w\\s@]*@)\\b')
- .getRegex(),
+ `^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+?\\1> *(?:\\n{2,}|\\s*$)| \\s]*)*?/?> *(?:\\n{2,}|\\s*$))`
+ ).replace("comment", block._comment).replace(/tag/g, "(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),
def: /^ *\[([^\]]+)\]: *([^\s>]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,
heading: /^(#{1,6})(.*)(?:\n+|$)/,
- fences: noopTest, // fences not supported
+ fences: noopTest,
+ // fences not supported
lheading: /^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/,
- paragraph: edit(block.normal._paragraph)
- .replace('hr', block.hr)
- .replace('heading', ' *#{1,6} *[^\n]')
- .replace('lheading', block.lheading)
- .replace('blockquote', ' {0,3}>')
- .replace('|fences', '')
- .replace('|list', '')
- .replace('|html', '')
- .getRegex()
+ paragraph: edit(block.normal._paragraph).replace("hr", block.hr).replace("heading", " *#{1,6} *[^\n]").replace("lheading", block.lheading).replace("blockquote", " {0,3}>").replace("|fences", "").replace("|list", "").replace("|html", "").getRegex()
};
-
-/**
- * Inline-Level Grammar
- */
-const inline = {
+var inline = {
escape: /^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,
autolink: /^<(scheme:[^\s\x00-\x1f<>]*|email)>/,
url: noopTest,
- tag: '^comment'
- + '|^[a-zA-Z][\\w:-]*\\s*>' // self-closing tag
- + '|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>' // open tag
- + '|^<\\?[\\s\\S]*?\\?>' // processing instruction, e.g.
- + '|^' // declaration, e.g.
- + '|^', // CDATA section
+ tag: "^comment|^[a-zA-Z][\\w:-]*\\s*>|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^|^",
+ // CDATA section
link: /^!?\[(label)\]\(\s*(href)(?:\s+(title))?\s*\)/,
reflink: /^!?\[(label)\]\[(ref)\]/,
nolink: /^!?\[(ref)\](?:\[\])?/,
- reflinkSearch: 'reflink|nolink(?!\\()',
+ reflinkSearch: "reflink|nolink(?!\\()",
emStrong: {
lDelim: /^(?:\*+(?:((?!\*)[punct])|[^\s*]))|^_+(?:((?!_)[punct])|([^\s_]))/,
// (1) and (2) can only be a Right Delimiter. (3) and (4) can only be Left. (5) and (6) can be either Left or Right.
// | Skip orphan inside strong | Consume to delim | (1) #*** | (2) a***#, a*** | (3) #***a, ***a | (4) ***# | (5) #***# | (6) a***a
rDelimAst: /^[^_*]*?__[^_*]*?\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\*)[punct](\*+)(?=[\s]|$)|[^punct\s](\*+)(?!\*)(?=[punct\s]|$)|(?!\*)[punct\s](\*+)(?=[^punct\s])|[\s](\*+)(?!\*)(?=[punct])|(?!\*)[punct](\*+)(?!\*)(?=[punct])|[^punct\s](\*+)(?=[^punct\s])/,
- rDelimUnd: /^[^_*]*?\*\*[^_*]*?_[^_*]*?(?=\*\*)|[^_]+(?=[^_])|(?!_)[punct](_+)(?=[\s]|$)|[^punct\s](_+)(?!_)(?=[punct\s]|$)|(?!_)[punct\s](_+)(?=[^punct\s])|[\s](_+)(?!_)(?=[punct])|(?!_)[punct](_+)(?!_)(?=[punct])/ // ^- Not allowed for _
+ rDelimUnd: /^[^_*]*?\*\*[^_*]*?_[^_*]*?(?=\*\*)|[^_]+(?=[^_])|(?!_)[punct](_+)(?=[\s]|$)|[^punct\s](_+)(?!_)(?=[punct\s]|$)|(?!_)[punct\s](_+)(?=[^punct\s])|[\s](_+)(?!_)(?=[punct])|(?!_)[punct](_+)(?!_)(?=[punct])/
+ // ^- Not allowed for _
},
code: /^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,
br: /^( {2,}|\\)\n(?!\s*$)/,
@@ -1282,86 +983,30 @@ const inline = {
text: /^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\`^|~';
-inline.punctuation = edit(inline.punctuation, 'u').replace(/punctuation/g, inline._punctuation).getRegex();
-
-// sequences em should skip over [title](link), `code`,
+inline._punctuation = "\\p{P}$+<=>`^|~";
+inline.punctuation = edit(inline.punctuation, "u").replace(/punctuation/g, inline._punctuation).getRegex();
inline.blockSkip = /\[[^[\]]*?\]\([^\(\)]*?\)|`[^`]*?`|<[^<>]*?>/g;
inline.anyPunctuation = /\\[punct]/g;
inline._escapes = /\\([punct])/g;
-
-inline._comment = edit(block._comment).replace('(?:-->|$)', '-->').getRegex();
-
-inline.emStrong.lDelim = edit(inline.emStrong.lDelim, 'u')
- .replace(/punct/g, inline._punctuation)
- .getRegex();
-
-inline.emStrong.rDelimAst = edit(inline.emStrong.rDelimAst, 'gu')
- .replace(/punct/g, inline._punctuation)
- .getRegex();
-
-inline.emStrong.rDelimUnd = edit(inline.emStrong.rDelimUnd, 'gu')
- .replace(/punct/g, inline._punctuation)
- .getRegex();
-
-inline.anyPunctuation = edit(inline.anyPunctuation, 'gu')
- .replace(/punct/g, inline._punctuation)
- .getRegex();
-
-inline._escapes = edit(inline._escapes, 'gu')
- .replace(/punct/g, inline._punctuation)
- .getRegex();
-
+inline._comment = edit(block._comment).replace("(?:-->|$)", "-->").getRegex();
+inline.emStrong.lDelim = edit(inline.emStrong.lDelim, "u").replace(/punct/g, inline._punctuation).getRegex();
+inline.emStrong.rDelimAst = edit(inline.emStrong.rDelimAst, "gu").replace(/punct/g, inline._punctuation).getRegex();
+inline.emStrong.rDelimUnd = edit(inline.emStrong.rDelimUnd, "gu").replace(/punct/g, inline._punctuation).getRegex();
+inline.anyPunctuation = edit(inline.anyPunctuation, "gu").replace(/punct/g, inline._punctuation).getRegex();
+inline._escapes = edit(inline._escapes, "gu").replace(/punct/g, inline._punctuation).getRegex();
inline._scheme = /[a-zA-Z][a-zA-Z0-9+.-]{1,31}/;
inline._email = /[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/;
-inline.autolink = edit(inline.autolink)
- .replace('scheme', inline._scheme)
- .replace('email', inline._email)
- .getRegex();
-
+inline.autolink = edit(inline.autolink).replace("scheme", inline._scheme).replace("email", inline._email).getRegex();
inline._attribute = /\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/;
-
-inline.tag = edit(inline.tag)
- .replace('comment', inline._comment)
- .replace('attribute', inline._attribute)
- .getRegex();
-
+inline.tag = edit(inline.tag).replace("comment", inline._comment).replace("attribute", inline._attribute).getRegex();
inline._label = /(?:\[(?:\\.|[^\[\]\\])*\]|\\.|`[^`]*`|[^\[\]\\`])*?/;
inline._href = /<(?:\\.|[^\n<>\\])+>|[^\s\x00-\x1f]*/;
inline._title = /"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/;
-
-inline.link = edit(inline.link)
- .replace('label', inline._label)
- .replace('href', inline._href)
- .replace('title', inline._title)
- .getRegex();
-
-inline.reflink = edit(inline.reflink)
- .replace('label', inline._label)
- .replace('ref', block._label)
- .getRegex();
-
-inline.nolink = edit(inline.nolink)
- .replace('ref', block._label)
- .getRegex();
-
-inline.reflinkSearch = edit(inline.reflinkSearch, 'g')
- .replace('reflink', inline.reflink)
- .replace('nolink', inline.nolink)
- .getRegex();
-
-/**
- * Normal Inline Grammar
- */
-
+inline.link = edit(inline.link).replace("label", inline._label).replace("href", inline._href).replace("title", inline._title).getRegex();
+inline.reflink = edit(inline.reflink).replace("label", inline._label).replace("ref", block._label).getRegex();
+inline.nolink = edit(inline.nolink).replace("ref", block._label).getRegex();
+inline.reflinkSearch = edit(inline.reflinkSearch, "g").replace("reflink", inline.reflink).replace("nolink", inline.nolink).getRegex();
inline.normal = { ...inline };
-
-/**
- * Pedantic Inline Grammar
- */
-
inline.pedantic = {
...inline.normal,
strong: {
@@ -1376,96 +1021,47 @@ inline.pedantic = {
endAst: /\*(?!\*)/g,
endUnd: /_(?!_)/g
},
- link: edit(/^!?\[(label)\]\((.*?)\)/)
- .replace('label', inline._label)
- .getRegex(),
- reflink: edit(/^!?\[(label)\]\s*\[([^\]]*)\]/)
- .replace('label', inline._label)
- .getRegex()
+ link: edit(/^!?\[(label)\]\((.*?)\)/).replace("label", inline._label).getRegex(),
+ reflink: edit(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label", inline._label).getRegex()
};
-
-/**
- * GFM Inline Grammar
- */
-
inline.gfm = {
...inline.normal,
- escape: edit(inline.escape).replace('])', '~|])').getRegex(),
+ escape: edit(inline.escape).replace("])", "~|])").getRegex(),
_extended_email: /[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/,
url: /^((?:ftp|https?):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/,
_backpedal: /(?:[^?!.,:;*_'"~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_'"~)]+(?!$))+/,
del: /^(~~?)(?=[^\s~])([\s\S]*?[^\s~])\1(?=[^~]|$)/,
text: /^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\ 0.5) {
- ch = 'x' + ch.toString(16);
+ ch = "x" + ch.toString(16);
}
- out += '' + ch + ';';
+ out += "" + ch + ";";
}
-
return out;
}
-
-/**
- * Block Lexer
- */
-class Lexer {
- constructor(options) {
+var _Lexer = class {
+ constructor(options2) {
this.tokens = [];
- this.tokens.links = Object.create(null);
- this.options = options || defaults;
- this.options.tokenizer = this.options.tokenizer || new Tokenizer();
+ this.tokens.links = /* @__PURE__ */ Object.create(null);
+ this.options = options2 || _defaults;
+ this.options.tokenizer = this.options.tokenizer || new _Tokenizer();
this.tokenizer = this.options.tokenizer;
this.tokenizer.options = this.options;
this.tokenizer.lexer = this;
@@ -1475,12 +1071,10 @@ class Lexer {
inRawBlock: false,
top: true
};
-
const rules = {
block: block.normal,
inline: inline.normal
};
-
if (this.options.pedantic) {
rules.block = block.pedantic;
rules.inline = inline.pedantic;
@@ -1494,7 +1088,6 @@ class Lexer {
}
this.tokenizer.rules = rules;
}
-
/**
* Expose Rules
*/
@@ -1504,145 +1097,109 @@ class Lexer {
inline
};
}
-
/**
* Static Lex Method
*/
- static lex(src, options) {
- const lexer = new Lexer(options);
- return lexer.lex(src);
+ static lex(src, options2) {
+ const lexer2 = new _Lexer(options2);
+ return lexer2.lex(src);
}
-
/**
* Static Lex Inline Method
*/
- static lexInline(src, options) {
- const lexer = new Lexer(options);
- return lexer.inlineTokens(src);
+ static lexInline(src, options2) {
+ const lexer2 = new _Lexer(options2);
+ return lexer2.inlineTokens(src);
}
-
/**
* Preprocessing
*/
lex(src) {
- src = src
- .replace(/\r\n|\r/g, '\n');
-
+ src = src.replace(/\r\n|\r/g, "\n");
this.blockTokens(src, this.tokens);
-
let next;
while (next = this.inlineQueue.shift()) {
this.inlineTokens(next.src, next.tokens);
}
-
return this.tokens;
}
-
- /**
- * Lexing
- */
blockTokens(src, tokens = []) {
if (this.options.pedantic) {
- src = src.replace(/\t/g, ' ').replace(/^ +$/gm, '');
+ src = src.replace(/\t/g, " ").replace(/^ +$/gm, "");
} else {
src = src.replace(/^( *)(\t+)/gm, (_, leading, tabs) => {
- return leading + ' '.repeat(tabs.length);
+ return leading + " ".repeat(tabs.length);
});
}
-
let token, lastToken, cutSrc, lastParagraphClipped;
-
while (src) {
- if (this.options.extensions
- && this.options.extensions.block
- && this.options.extensions.block.some((extTokenizer) => {
- if (token = extTokenizer.call({ lexer: this }, src, tokens)) {
- src = src.substring(token.raw.length);
- tokens.push(token);
- return true;
- }
- return false;
- })) {
+ if (this.options.extensions && this.options.extensions.block && this.options.extensions.block.some((extTokenizer) => {
+ if (token = extTokenizer.call({ lexer: this }, src, tokens)) {
+ src = src.substring(token.raw.length);
+ tokens.push(token);
+ return true;
+ }
+ return false;
+ })) {
continue;
}
-
- // newline
if (token = this.tokenizer.space(src)) {
src = src.substring(token.raw.length);
if (token.raw.length === 1 && tokens.length > 0) {
- // if there's a single \n as a spacer, it's terminating the last line,
- // so move it there so that we don't get unecessary paragraph tags
- tokens[tokens.length - 1].raw += '\n';
+ tokens[tokens.length - 1].raw += "\n";
} else {
tokens.push(token);
}
continue;
}
-
- // code
if (token = this.tokenizer.code(src)) {
src = src.substring(token.raw.length);
lastToken = tokens[tokens.length - 1];
- // An indented code block cannot interrupt a paragraph.
- if (lastToken && (lastToken.type === 'paragraph' || lastToken.type === 'text')) {
- lastToken.raw += '\n' + token.raw;
- lastToken.text += '\n' + token.text;
+ if (lastToken && (lastToken.type === "paragraph" || lastToken.type === "text")) {
+ lastToken.raw += "\n" + token.raw;
+ lastToken.text += "\n" + token.text;
this.inlineQueue[this.inlineQueue.length - 1].src = lastToken.text;
} else {
tokens.push(token);
}
continue;
}
-
- // fences
if (token = this.tokenizer.fences(src)) {
src = src.substring(token.raw.length);
tokens.push(token);
continue;
}
-
- // heading
if (token = this.tokenizer.heading(src)) {
src = src.substring(token.raw.length);
tokens.push(token);
continue;
}
-
- // hr
if (token = this.tokenizer.hr(src)) {
src = src.substring(token.raw.length);
tokens.push(token);
continue;
}
-
- // blockquote
if (token = this.tokenizer.blockquote(src)) {
src = src.substring(token.raw.length);
tokens.push(token);
continue;
}
-
- // list
if (token = this.tokenizer.list(src)) {
src = src.substring(token.raw.length);
tokens.push(token);
continue;
}
-
- // html
if (token = this.tokenizer.html(src)) {
src = src.substring(token.raw.length);
tokens.push(token);
continue;
}
-
- // def
if (token = this.tokenizer.def(src)) {
src = src.substring(token.raw.length);
lastToken = tokens[tokens.length - 1];
- if (lastToken && (lastToken.type === 'paragraph' || lastToken.type === 'text')) {
- lastToken.raw += '\n' + token.raw;
- lastToken.text += '\n' + token.raw;
+ if (lastToken && (lastToken.type === "paragraph" || lastToken.type === "text")) {
+ lastToken.raw += "\n" + token.raw;
+ lastToken.text += "\n" + token.raw;
this.inlineQueue[this.inlineQueue.length - 1].src = lastToken.text;
} else if (!this.tokens.links[token.tag]) {
this.tokens.links[token.tag] = {
@@ -1652,31 +1209,26 @@ class Lexer {
}
continue;
}
-
- // table (gfm)
if (token = this.tokenizer.table(src)) {
src = src.substring(token.raw.length);
tokens.push(token);
continue;
}
-
- // lheading
if (token = this.tokenizer.lheading(src)) {
src = src.substring(token.raw.length);
tokens.push(token);
continue;
}
-
- // top-level paragraph
- // prevent paragraph consuming extensions by clipping 'src' to extension start
cutSrc = src;
if (this.options.extensions && this.options.extensions.startBlock) {
let startIndex = Infinity;
const tempSrc = src.slice(1);
let tempStart;
- this.options.extensions.startBlock.forEach(function(getStartIndex) {
+ this.options.extensions.startBlock.forEach((getStartIndex) => {
tempStart = getStartIndex.call({ lexer: this }, tempSrc);
- if (typeof tempStart === 'number' && tempStart >= 0) { startIndex = Math.min(startIndex, tempStart); }
+ if (typeof tempStart === "number" && tempStart >= 0) {
+ startIndex = Math.min(startIndex, tempStart);
+ }
});
if (startIndex < Infinity && startIndex >= 0) {
cutSrc = src.substring(0, startIndex + 1);
@@ -1684,26 +1236,24 @@ class Lexer {
}
if (this.state.top && (token = this.tokenizer.paragraph(cutSrc))) {
lastToken = tokens[tokens.length - 1];
- if (lastParagraphClipped && lastToken.type === 'paragraph') {
- lastToken.raw += '\n' + token.raw;
- lastToken.text += '\n' + token.text;
+ if (lastParagraphClipped && lastToken.type === "paragraph") {
+ lastToken.raw += "\n" + token.raw;
+ lastToken.text += "\n" + token.text;
this.inlineQueue.pop();
this.inlineQueue[this.inlineQueue.length - 1].src = lastToken.text;
} else {
tokens.push(token);
}
- lastParagraphClipped = (cutSrc.length !== src.length);
+ lastParagraphClipped = cutSrc.length !== src.length;
src = src.substring(token.raw.length);
continue;
}
-
- // text
if (token = this.tokenizer.text(src)) {
src = src.substring(token.raw.length);
lastToken = tokens[tokens.length - 1];
- if (lastToken && lastToken.type === 'text') {
- lastToken.raw += '\n' + token.raw;
- lastToken.text += '\n' + token.text;
+ if (lastToken && lastToken.type === "text") {
+ lastToken.raw += "\n" + token.raw;
+ lastToken.text += "\n" + token.text;
this.inlineQueue.pop();
this.inlineQueue[this.inlineQueue.length - 1].src = lastToken.text;
} else {
@@ -1711,9 +1261,8 @@ class Lexer {
}
continue;
}
-
if (src) {
- const errMsg = 'Infinite loop on byte: ' + src.charCodeAt(0);
+ const errMsg = "Infinite loop on byte: " + src.charCodeAt(0);
if (this.options.silent) {
console.error(errMsg);
break;
@@ -1722,80 +1271,61 @@ class Lexer {
}
}
}
-
this.state.top = true;
return tokens;
}
-
inline(src, tokens = []) {
this.inlineQueue.push({ src, tokens });
return tokens;
}
-
/**
* Lexing/Compiling
*/
inlineTokens(src, tokens = []) {
let token, lastToken, cutSrc;
-
- // String with links masked to avoid interference with em and strong
let maskedSrc = src;
let match;
let keepPrevChar, prevChar;
-
- // Mask out reflinks
if (this.tokens.links) {
const links = Object.keys(this.tokens.links);
if (links.length > 0) {
while ((match = this.tokenizer.rules.inline.reflinkSearch.exec(maskedSrc)) != null) {
- if (links.includes(match[0].slice(match[0].lastIndexOf('[') + 1, -1))) {
- maskedSrc = maskedSrc.slice(0, match.index) + '[' + 'a'.repeat(match[0].length - 2) + ']' + maskedSrc.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex);
+ if (links.includes(match[0].slice(match[0].lastIndexOf("[") + 1, -1))) {
+ maskedSrc = maskedSrc.slice(0, match.index) + "[" + "a".repeat(match[0].length - 2) + "]" + maskedSrc.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex);
}
}
}
}
- // Mask out other blocks
while ((match = this.tokenizer.rules.inline.blockSkip.exec(maskedSrc)) != null) {
- maskedSrc = maskedSrc.slice(0, match.index) + '[' + 'a'.repeat(match[0].length - 2) + ']' + maskedSrc.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);
+ maskedSrc = maskedSrc.slice(0, match.index) + "[" + "a".repeat(match[0].length - 2) + "]" + maskedSrc.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);
}
-
- // Mask out escaped characters
while ((match = this.tokenizer.rules.inline.anyPunctuation.exec(maskedSrc)) != null) {
- maskedSrc = maskedSrc.slice(0, match.index) + '++' + maskedSrc.slice(this.tokenizer.rules.inline.anyPunctuation.lastIndex);
+ maskedSrc = maskedSrc.slice(0, match.index) + "++" + maskedSrc.slice(this.tokenizer.rules.inline.anyPunctuation.lastIndex);
}
-
while (src) {
if (!keepPrevChar) {
- prevChar = '';
+ prevChar = "";
}
keepPrevChar = false;
-
- // extensions
- if (this.options.extensions
- && this.options.extensions.inline
- && this.options.extensions.inline.some((extTokenizer) => {
- if (token = extTokenizer.call({ lexer: this }, src, tokens)) {
- src = src.substring(token.raw.length);
- tokens.push(token);
- return true;
- }
- return false;
- })) {
+ if (this.options.extensions && this.options.extensions.inline && this.options.extensions.inline.some((extTokenizer) => {
+ if (token = extTokenizer.call({ lexer: this }, src, tokens)) {
+ src = src.substring(token.raw.length);
+ tokens.push(token);
+ return true;
+ }
+ return false;
+ })) {
continue;
}
-
- // escape
if (token = this.tokenizer.escape(src)) {
src = src.substring(token.raw.length);
tokens.push(token);
continue;
}
-
- // tag
if (token = this.tokenizer.tag(src)) {
src = src.substring(token.raw.length);
lastToken = tokens[tokens.length - 1];
- if (lastToken && token.type === 'text' && lastToken.type === 'text') {
+ if (lastToken && token.type === "text" && lastToken.type === "text") {
lastToken.raw += token.raw;
lastToken.text += token.text;
} else {
@@ -1803,19 +1333,15 @@ class Lexer {
}
continue;
}
-
- // link
if (token = this.tokenizer.link(src)) {
src = src.substring(token.raw.length);
tokens.push(token);
continue;
}
-
- // reflink, nolink
if (token = this.tokenizer.reflink(src, this.tokens.links)) {
src = src.substring(token.raw.length);
lastToken = tokens[tokens.length - 1];
- if (lastToken && token.type === 'text' && lastToken.type === 'text') {
+ if (lastToken && token.type === "text" && lastToken.type === "text") {
lastToken.raw += token.raw;
lastToken.text += token.text;
} else {
@@ -1823,59 +1349,46 @@ class Lexer {
}
continue;
}
-
- // em & strong
if (token = this.tokenizer.emStrong(src, maskedSrc, prevChar)) {
src = src.substring(token.raw.length);
tokens.push(token);
continue;
}
-
- // code
if (token = this.tokenizer.codespan(src)) {
src = src.substring(token.raw.length);
tokens.push(token);
continue;
}
-
- // br
if (token = this.tokenizer.br(src)) {
src = src.substring(token.raw.length);
tokens.push(token);
continue;
}
-
- // del (gfm)
if (token = this.tokenizer.del(src)) {
src = src.substring(token.raw.length);
tokens.push(token);
continue;
}
-
- // autolink
if (token = this.tokenizer.autolink(src, mangle)) {
src = src.substring(token.raw.length);
tokens.push(token);
continue;
}
-
- // url (gfm)
if (!this.state.inLink && (token = this.tokenizer.url(src, mangle))) {
src = src.substring(token.raw.length);
tokens.push(token);
continue;
}
-
- // text
- // prevent inlineText consuming extensions by clipping 'src' to extension start
cutSrc = src;
if (this.options.extensions && this.options.extensions.startInline) {
let startIndex = Infinity;
const tempSrc = src.slice(1);
let tempStart;
- this.options.extensions.startInline.forEach(function(getStartIndex) {
+ this.options.extensions.startInline.forEach((getStartIndex) => {
tempStart = getStartIndex.call({ lexer: this }, tempSrc);
- if (typeof tempStart === 'number' && tempStart >= 0) { startIndex = Math.min(startIndex, tempStart); }
+ if (typeof tempStart === "number" && tempStart >= 0) {
+ startIndex = Math.min(startIndex, tempStart);
+ }
});
if (startIndex < Infinity && startIndex >= 0) {
cutSrc = src.substring(0, startIndex + 1);
@@ -1883,12 +1396,12 @@ class Lexer {
}
if (token = this.tokenizer.inlineText(cutSrc, smartypants)) {
src = src.substring(token.raw.length);
- if (token.raw.slice(-1) !== '_') { // Track prevChar before string of ____ started
+ if (token.raw.slice(-1) !== "_") {
prevChar = token.raw.slice(-1);
}
keepPrevChar = true;
lastToken = tokens[tokens.length - 1];
- if (lastToken && lastToken.type === 'text') {
+ if (lastToken && lastToken.type === "text") {
lastToken.raw += token.raw;
lastToken.text += token.text;
} else {
@@ -1896,9 +1409,8 @@ class Lexer {
}
continue;
}
-
if (src) {
- const errMsg = 'Infinite loop on byte: ' + src.charCodeAt(0);
+ const errMsg = "Infinite loop on byte: " + src.charCodeAt(0);
if (this.options.silent) {
console.error(errMsg);
break;
@@ -1907,21 +1419,17 @@ class Lexer {
}
}
}
-
return tokens;
}
-}
+};
-/**
- * Renderer
- */
-class Renderer {
- constructor(options) {
- this.options = options || defaults;
+// src/Renderer.ts
+var _Renderer = class {
+ constructor(options2) {
+ this.options = options2 || _defaults;
}
-
code(code, infostring, escaped) {
- const lang = (infostring || '').match(/\S*/)[0];
+ const lang = (infostring || "").match(/\S*/)[0];
if (this.options.highlight) {
const out = this.options.highlight(code, lang);
if (out != null && out !== code) {
@@ -1929,150 +1437,81 @@ class Renderer {
code = out;
}
}
-
- code = code.replace(/\n$/, '') + '\n';
-
+ code = code.replace(/\n$/, "") + "\n";
if (!lang) {
- return ''
- + (escaped ? code : escape(code, true))
- + '
\n';
+ return "" + (escaped ? code : escape(code, true)) + "
\n";
}
-
- return ''
- + (escaped ? code : escape(code, true))
- + '
\n';
+ return '' + (escaped ? code : escape(code, true)) + "
\n";
}
-
- /**
- * @param {string} quote
- */
blockquote(quote) {
- return `\n${quote}
\n`;
+ return `
+${quote}
+`;
}
-
- html(html, block) {
+ html(html, block2) {
return html;
}
-
- /**
- * @param {string} text
- * @param {string} level
- * @param {string} raw
- * @param {any} slugger
- */
heading(text, level, raw, slugger) {
if (this.options.headerIds) {
const id = this.options.headerPrefix + slugger.slug(raw);
- return `${text} \n`;
+ return `${text}
+`;
}
-
- // ignore IDs
- return `${text} \n`;
+ return `${text}
+`;
}
-
hr() {
- return this.options.xhtml ? '
\n' : '
\n';
+ return this.options.xhtml ? "
\n" : "
\n";
}
-
list(body, ordered, start) {
- const type = ordered ? 'ol' : 'ul',
- startatt = (ordered && start !== 1) ? (' start="' + start + '"') : '';
- return '<' + type + startatt + '>\n' + body + '' + type + '>\n';
+ const type = ordered ? "ol" : "ul", startatt = ordered && start !== 1 ? ' start="' + start + '"' : "";
+ return "<" + type + startatt + ">\n" + body + "" + type + ">\n";
}
-
- /**
- * @param {string} text
- */
- listitem(text) {
- return `${text} \n`;
+ listitem(text, task, checked) {
+ return `${text}
+`;
}
-
checkbox(checked) {
- return ' ';
+ return " ";
}
-
- /**
- * @param {string} text
- */
paragraph(text) {
- return `${text}
\n`;
+ return `${text}
+`;
}
-
- /**
- * @param {string} header
- * @param {string} body
- */
table(header, body) {
- if (body) body = `${body}`;
-
- return '\n'
- + '\n'
- + header
- + '\n'
- + body
- + '
\n';
+ if (body)
+ body = `${body}`;
+ return "\n\n" + header + "\n" + body + "
\n";
}
-
- /**
- * @param {string} content
- */
tablerow(content) {
- return `\n${content} \n`;
+ return `
+${content}
+`;
}
-
tablecell(content, flags) {
- const type = flags.header ? 'th' : 'td';
- const tag = flags.align
- ? `<${type} align="${flags.align}">`
- : `<${type}>`;
- return tag + content + `${type}>\n`;
+ const type = flags.header ? "th" : "td";
+ const tag = flags.align ? `<${type} align="${flags.align}">` : `<${type}>`;
+ return tag + content + `${type}>
+`;
}
-
/**
* span level renderer
- * @param {string} text
*/
strong(text) {
return `${text}`;
}
-
- /**
- * @param {string} text
- */
em(text) {
return `${text}`;
}
-
- /**
- * @param {string} text
- */
codespan(text) {
return `${text}
`;
}
-
br() {
- return this.options.xhtml ? '
' : '
';
+ return this.options.xhtml ? "
" : "
";
}
-
- /**
- * @param {string} text
- */
del(text) {
return `${text}`;
}
-
- /**
- * @param {string} href
- * @param {string} title
- * @param {string} text
- */
link(href, title, text) {
href = cleanUrl(this.options.sanitize, this.options.baseUrl, href);
if (href === null) {
@@ -2082,103 +1521,68 @@ class Renderer {
if (title) {
out += ' title="' + title + '"';
}
- out += '>' + text + '
An error occurred:
' - + escape(e.message + '', true) - + ''; - if (async) { - return Promise.resolve(msg); + const done = (err) => { + let out; + if (!err) { + try { + if (opt.walkTokens) { + this.walkTokens(tokens, opt.walkTokens); + } + out = parser2(tokens, opt); + if (opt.hooks) { + out = opt.hooks.postprocess(out); + } + } catch (e) { + err = e; + } } - if (callback) { - callback(null, msg); - return; - } - return msg; + opt.highlight = highlight; + return err ? throwError(err) : callback(null, out); + }; + if (!highlight || highlight.length < 3) { + return done(); } - + delete opt.highlight; + if (!tokens.length) + return done(); + let pending = 0; + this.walkTokens(tokens, (token) => { + if (token.type === "code") { + pending++; + setTimeout(() => { + highlight(token.text, token.lang, (err, code) => { + if (err) { + return done(err); + } + if (code != null && code !== token.text) { + token.text = code; + token.escaped = true; + } + pending--; + if (pending === 0) { + done(); + } + }); + }, 0); + } + }); + if (pending === 0) { + done(); + } + return; + } + if (opt.async) { + return Promise.resolve(opt.hooks ? opt.hooks.preprocess(src) : src).then((src2) => lexer2(src2, opt)).then((tokens) => opt.walkTokens ? Promise.all(this.walkTokens(tokens, opt.walkTokens)).then(() => tokens) : tokens).then((tokens) => parser2(tokens, opt)).then((html) => opt.hooks ? opt.hooks.postprocess(html) : html).catch(throwError); + } + try { + if (opt.hooks) { + src = opt.hooks.preprocess(src); + } + const tokens = lexer2(src, opt); + if (opt.walkTokens) { + this.walkTokens(tokens, opt.walkTokens); + } + let html = parser2(tokens, opt); + if (opt.hooks) { + html = opt.hooks.postprocess(html); + } + return html; + } catch (e) { + return throwError(e); + } + }; +}; +_onError = new WeakSet(); +onError_fn = function(silent, async, callback) { + return (e) => { + e.message += "\nPlease report this to https://github.com/markedjs/marked."; + if (silent) { + const msg = "
An error occurred:
" + escape(e.message + "", true) + ""; if (async) { - return Promise.reject(e); + return Promise.resolve(msg); } if (callback) { - callback(e); + callback(null, msg); return; } - throw e; - }; - } -} + return msg; + } + if (async) { + return Promise.reject(e); + } + if (callback) { + callback(e); + return; + } + throw e; + }; +}; -const markedInstance = new Marked(defaults); - -/** - * Marked - */ +// src/marked.ts +var markedInstance = new Marked(); function marked(src, opt, callback) { return markedInstance.parse(src, opt, callback); } - -/** - * Options - */ - -marked.options = -marked.setOptions = function(opt) { - markedInstance.setOptions(opt); +marked.options = marked.setOptions = function(options2) { + markedInstance.setOptions(options2); marked.defaults = markedInstance.defaults; changeDefaults(marked.defaults); return marked; }; - -marked.getDefaults = getDefaults; - -marked.defaults = defaults; - -/** - * Use Extension - */ - +marked.getDefaults = _getDefaults; +marked.defaults = _defaults; marked.use = function(...args) { markedInstance.use(...args); marked.defaults = markedInstance.defaults; changeDefaults(marked.defaults); return marked; }; - -/** - * Run callback for every token - */ - marked.walkTokens = function(tokens, callback) { return markedInstance.walkTokens(tokens, callback); }; - -/** - * Parse Inline - * @param {string} src - */ marked.parseInline = markedInstance.parseInline; - -/** - * Expose - */ -marked.Parser = Parser; -marked.parser = Parser.parse; -marked.Renderer = Renderer; -marked.TextRenderer = TextRenderer; -marked.Lexer = Lexer; -marked.lexer = Lexer.lex; -marked.Tokenizer = Tokenizer; -marked.Slugger = Slugger; -marked.Hooks = Hooks; +marked.Parser = _Parser; +marked.parser = _Parser.parse; +marked.Renderer = _Renderer; +marked.TextRenderer = _TextRenderer; +marked.Lexer = _Lexer; +marked.lexer = _Lexer.lex; +marked.Tokenizer = _Tokenizer; +marked.Slugger = _Slugger; +marked.Hooks = _Hooks; marked.parse = marked; - -const options = marked.options; -const setOptions = marked.setOptions; -const use = marked.use; -const walkTokens = marked.walkTokens; -const parseInline = marked.parseInline; -const parse = marked; -const parser = Parser.parse; -const lexer = Lexer.lex; - -export { Hooks, Lexer, Marked, Parser, Renderer, Slugger, TextRenderer, Tokenizer, defaults, getDefaults, lexer, marked, options, parse, parseInline, parser, setOptions, use, walkTokens }; +var options = marked.options; +var setOptions = marked.setOptions; +var use = marked.use; +var walkTokens = marked.walkTokens; +var parseInline = marked.parseInline; +var parse = marked; +var parser = _Parser.parse; +var lexer = _Lexer.lex; +export { + _Hooks as Hooks, + _Lexer as Lexer, + Marked, + _Parser as Parser, + _Renderer as Renderer, + _Slugger as Slugger, + _TextRenderer as TextRenderer, + _Tokenizer as Tokenizer, + _defaults as defaults, + _getDefaults as getDefaults, + lexer, + marked, + options, + parse, + parseInline, + parser, + setOptions, + use, + walkTokens +}; +//# sourceMappingURL=marked.esm.js.map \ No newline at end of file diff --git a/lib/marked.esm.js.map b/lib/marked.esm.js.map new file mode 100644 index 00000000..b67d9e40 --- /dev/null +++ b/lib/marked.esm.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["../src/defaults.ts","../src/helpers.ts","../src/Tokenizer.ts","../src/rules.ts","../src/Lexer.ts","../src/Renderer.ts","../src/TextRenderer.ts","../src/Slugger.ts","../src/Parser.ts","../src/Hooks.ts","../src/Instance.ts","../src/marked.ts"],"sourcesContent":["import type { MarkedOptions } from './MarkedOptions.ts';\n\n/**\n * Gets the original marked default options.\n */\nexport function _getDefaults(): MarkedOptions {\n return {\n async: false,\n baseUrl: null,\n breaks: false,\n extensions: null,\n gfm: true,\n headerIds: true,\n headerPrefix: '',\n highlight: null,\n hooks: null,\n langPrefix: 'language-',\n mangle: true,\n pedantic: false,\n renderer: null,\n sanitize: false,\n sanitizer: null,\n silent: false,\n smartypants: false,\n tokenizer: null,\n walkTokens: null,\n xhtml: false\n };\n}\n\nexport let _defaults = _getDefaults();\n\nexport function changeDefaults(newDefaults: MarkedOptions) {\n _defaults = newDefaults;\n}\n","import type { MarkedOptions } from './MarkedOptions.ts';\nimport type { ResultCallback } from './marked.ts';\nimport type { Rule } from './rules.ts';\n\n/**\n * Helpers\n */\nconst escapeTest = /[&<>\"']/;\nconst escapeReplace = new RegExp(escapeTest.source, 'g');\nconst escapeTestNoEncode = /[<>\"']|&(?!(#\\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\\w+);)/;\nconst escapeReplaceNoEncode = new RegExp(escapeTestNoEncode.source, 'g');\nconst escapeReplacements = {\n '&': '&',\n '<': '<',\n '>': '>',\n '\"': '"',\n \"'\": '''\n};\nconst getEscapeReplacement = (ch: string) => escapeReplacements[ch];\n\nexport function escape(html: string, encode?: boolean) {\n if (encode) {\n if (escapeTest.test(html)) {\n return html.replace(escapeReplace, getEscapeReplacement);\n }\n } else {\n if (escapeTestNoEncode.test(html)) {\n return html.replace(escapeReplaceNoEncode, getEscapeReplacement);\n }\n }\n\n return html;\n}\n\nconst unescapeTest = /&(#(?:\\d+)|(?:#x[0-9A-Fa-f]+)|(?:\\w+));?/ig;\n\nexport function unescape(html: string) {\n // explicitly match decimal, hex, and named HTML entities\n return html.replace(unescapeTest, (_, n) => {\n n = n.toLowerCase();\n if (n === 'colon') return ':';\n if (n.charAt(0) === '#') {\n return n.charAt(1) === 'x'\n ? String.fromCharCode(parseInt(n.substring(2), 16))\n : String.fromCharCode(+n.substring(1));\n }\n return '';\n });\n}\n\nconst caret = /(^|[^\\[])\\^/g;\n\nexport function edit(regex: Rule, opt?: string) {\n regex = typeof regex === 'string' ? regex : regex.source;\n opt = opt || '';\n const obj = {\n replace: (name: string | RegExp, val: string | RegExp) => {\n val = typeof val === 'object' && 'source' in val ? val.source : val;\n val = val.replace(caret, '$1');\n regex = (regex as string).replace(name, val);\n return obj;\n },\n getRegex: () => {\n return new RegExp(regex, opt);\n }\n };\n return obj;\n}\n\nconst nonWordAndColonTest = /[^\\w:]/g;\nconst originIndependentUrl = /^$|^[a-z][a-z0-9+.-]*:|^[?#]/i;\n\nexport function cleanUrl(sanitize: boolean | undefined, base: string | undefined | null, href: string) {\n if (sanitize) {\n let prot;\n try {\n prot = decodeURIComponent(unescape(href))\n .replace(nonWordAndColonTest, '')\n .toLowerCase();\n } catch (e) {\n return null;\n }\n if (prot.indexOf('javascript:') === 0 || prot.indexOf('vbscript:') === 0 || prot.indexOf('data:') === 0) {\n return null;\n }\n }\n if (base && !originIndependentUrl.test(href)) {\n href = resolveUrl(base, href);\n }\n try {\n href = encodeURI(href).replace(/%25/g, '%');\n } catch (e) {\n return null;\n }\n return href;\n}\n\nconst baseUrls: Record
'\n + (escaped ? code : escape(code, true))\n + '
\\n';\n }\n\n return ''\n + (escaped ? code : escape(code, true))\n + '
\\n';\n }\n\n blockquote(quote: string): string {\n return `\\n${quote}\\n`;\n }\n\n html(html: string, block?: boolean) : string {\n return html;\n }\n\n heading(text: string, level: number, raw: string, slugger: Slugger): string {\n if (this.options.headerIds) {\n const id = this.options.headerPrefix + slugger.slug(raw);\n return `
${text}
\\n`;\n }\n\n table(header: string, body: string): string {\n if (body) body = `${body}`;\n\n return '${text}
`;\n }\n\n br(): string {\n return this.options.xhtml ? 'An error occurred:
'\n + escape(e.message + '', true)\n + '';\n if (async) {\n return Promise.resolve(msg);\n }\n if (callback) {\n callback(null, msg);\n return;\n }\n return msg;\n }\n\n if (async) {\n return Promise.reject(e);\n }\n if (callback) {\n callback(e);\n return;\n }\n throw e;\n };\n }\n}\n","import { _Lexer } from './Lexer.ts';\nimport { _Parser } from './Parser.ts';\nimport { _Tokenizer } from './Tokenizer.ts';\nimport { _Renderer } from './Renderer.ts';\nimport { _TextRenderer } from './TextRenderer.ts';\nimport { _Slugger } from './Slugger.ts';\nimport { _Hooks } from './Hooks.ts';\nimport { Marked } from './Instance.ts';\nimport {\n _getDefaults,\n changeDefaults,\n _defaults\n} from './defaults.ts';\nimport type { MarkedExtension, MarkedOptions } from './MarkedOptions.ts';\nimport type { Token, TokensList } from './Tokens.ts';\n\nexport type ResultCallback = (error: Error | null, parseResult?: string) => undefined | void;\n\nconst markedInstance = new Marked();\n\n/**\n * Compiles markdown to HTML asynchronously.\n *\n * @param src String of markdown source to be compiled\n * @param options Hash of options, having async: true\n * @return Promise of string of compiled HTML\n */\nexport function marked(src: string, options: MarkedOptions & { async: true }): Promise
' + (escaped ? _code : escape(_code, true)) + '
\n';
+ return "" + (escaped ? code : escape(code, true)) + "
\n";
}
- return '' + (escaped ? _code : escape(_code, true)) + '
\n';
+ return '' + (escaped ? code : escape(code, true)) + "
\n";
}
-
- /**
- * @param {string} quote
- */;
- _proto.blockquote = function blockquote(quote) {
- return "\n" + quote + "\n"; - }; - _proto.html = function html(_html, block) { - return _html; + blockquote(quote) { + return `
+${quote}+`; } - - /** - * @param {string} text - * @param {string} level - * @param {string} raw - * @param {any} slugger - */; - _proto.heading = function heading(text, level, raw, slugger) { + html(html, block2) { + return html; + } + heading(text, level, raw, slugger) { if (this.options.headerIds) { - var id = this.options.headerPrefix + slugger.slug(raw); - return "
" + text + "
\n"; + list(body, ordered, start) { + const type = ordered ? "ol" : "ul", startatt = ordered && start !== 1 ? ' start="' + start + '"' : ""; + return "<" + type + startatt + ">\n" + body + "" + type + ">\n"; } - - /** - * @param {string} header - * @param {string} body - */; - _proto.table = function table(header, body) { - if (body) body = "" + body + ""; - return '${text}
+`; + } + table(header, body) { + if (body) + body = `${body}`; + return "" + text + "
";
- };
- _proto.br = function br() {
- return this.options.xhtml ? '${text}
`;
}
-
- /**
- * @param {string} text
- */;
- _proto.del = function del(text) {
- return "An error occurred:
' + escape(e.message + '', true) + ''; + const msg = "
An error occurred:
" + escape(e.message + "", true) + ""; if (async) { return Promise.resolve(msg); } @@ -2784,67 +2221,40 @@ } throw e; }; - } + }; - var markedInstance = new Marked(exports.defaults); - - /** - * Marked - */ + // src/marked.ts + var markedInstance = new Marked(); function marked(src, opt, callback) { return markedInstance.parse(src, opt, callback); } - - /** - * Options - */ - - marked.options = marked.setOptions = function (opt) { - markedInstance.setOptions(opt); + marked.options = marked.setOptions = function(options2) { + markedInstance.setOptions(options2); marked.defaults = markedInstance.defaults; changeDefaults(marked.defaults); return marked; }; - marked.getDefaults = getDefaults; - marked.defaults = exports.defaults; - - /** - * Use Extension - */ - - marked.use = function () { - markedInstance.use.apply(markedInstance, arguments); + marked.getDefaults = _getDefaults; + marked.defaults = _defaults; + marked.use = function(...args) { + markedInstance.use(...args); marked.defaults = markedInstance.defaults; changeDefaults(marked.defaults); return marked; }; - - /** - * Run callback for every token - */ - - marked.walkTokens = function (tokens, callback) { + marked.walkTokens = function(tokens, callback) { return markedInstance.walkTokens(tokens, callback); }; - - /** - * Parse Inline - * @param {string} src - */ marked.parseInline = markedInstance.parseInline; - - /** - * Expose - */ - marked.Parser = Parser; - marked.parser = Parser.parse; - marked.Renderer = Renderer; - marked.TextRenderer = TextRenderer; - marked.Lexer = Lexer; - marked.lexer = Lexer.lex; - marked.Tokenizer = Tokenizer; - marked.Slugger = Slugger; - marked.Hooks = Hooks; + marked.Parser = _Parser; + marked.parser = _Parser.parse; + marked.Renderer = _Renderer; + marked.TextRenderer = _TextRenderer; + marked.Lexer = _Lexer; + marked.lexer = _Lexer.lex; + marked.Tokenizer = _Tokenizer; + marked.Slugger = _Slugger; + marked.Hooks = _Hooks; marked.parse = marked; var options = marked.options; var setOptions = marked.setOptions; @@ -2852,26 +2262,8 @@ var walkTokens = marked.walkTokens; var parseInline = marked.parseInline; var parse = marked; - var parser = Parser.parse; - var lexer = Lexer.lex; - - exports.Hooks = Hooks; - exports.Lexer = Lexer; - exports.Marked = Marked; - exports.Parser = Parser; - exports.Renderer = Renderer; - exports.Slugger = Slugger; - exports.TextRenderer = TextRenderer; - exports.Tokenizer = Tokenizer; - exports.getDefaults = getDefaults; - exports.lexer = lexer; - exports.marked = marked; - exports.options = options; - exports.parse = parse; - exports.parseInline = parseInline; - exports.parser = parser; - exports.setOptions = setOptions; - exports.use = use; - exports.walkTokens = walkTokens; - -})); + var parser = _Parser.parse; + var lexer = _Lexer.lex; + return __toCommonJS(marked_exports); +})(); +//# sourceMappingURL=marked.umd.js.map \ No newline at end of file diff --git a/lib/marked.umd.js.map b/lib/marked.umd.js.map new file mode 100644 index 00000000..10c66a4f --- /dev/null +++ b/lib/marked.umd.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["../src/marked.ts","../src/defaults.ts","../src/helpers.ts","../src/Tokenizer.ts","../src/rules.ts","../src/Lexer.ts","../src/Renderer.ts","../src/TextRenderer.ts","../src/Slugger.ts","../src/Parser.ts","../src/Hooks.ts","../src/Instance.ts"],"sourcesContent":["import { _Lexer } from './Lexer.ts';\nimport { _Parser } from './Parser.ts';\nimport { _Tokenizer } from './Tokenizer.ts';\nimport { _Renderer } from './Renderer.ts';\nimport { _TextRenderer } from './TextRenderer.ts';\nimport { _Slugger } from './Slugger.ts';\nimport { _Hooks } from './Hooks.ts';\nimport { Marked } from './Instance.ts';\nimport {\n _getDefaults,\n changeDefaults,\n _defaults\n} from './defaults.ts';\nimport type { MarkedExtension, MarkedOptions } from './MarkedOptions.ts';\nimport type { Token, TokensList } from './Tokens.ts';\n\nexport type ResultCallback = (error: Error | null, parseResult?: string) => undefined | void;\n\nconst markedInstance = new Marked();\n\n/**\n * Compiles markdown to HTML asynchronously.\n *\n * @param src String of markdown source to be compiled\n * @param options Hash of options, having async: true\n * @return Promise of string of compiled HTML\n */\nexport function marked(src: string, options: MarkedOptions & { async: true }): Promise
'\n + (escaped ? code : escape(code, true))\n + '
\\n';\n }\n\n return ''\n + (escaped ? code : escape(code, true))\n + '
\\n';\n }\n\n blockquote(quote: string): string {\n return `\\n${quote}\\n`;\n }\n\n html(html: string, block?: boolean) : string {\n return html;\n }\n\n heading(text: string, level: number, raw: string, slugger: Slugger): string {\n if (this.options.headerIds) {\n const id = this.options.headerPrefix + slugger.slug(raw);\n return `
${text}
\\n`;\n }\n\n table(header: string, body: string): string {\n if (body) body = `${body}`;\n\n return '${text}
`;\n }\n\n br(): string {\n return this.options.xhtml ? 'An error occurred:
'\n + escape(e.message + '', true)\n + '';\n if (async) {\n return Promise.resolve(msg);\n }\n if (callback) {\n callback(null, msg);\n return;\n }\n return msg;\n }\n\n if (async) {\n return Promise.reject(e);\n }\n if (callback) {\n callback(e);\n return;\n }\n throw e;\n };\n }\n}\n"],"mappings":"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","names":["lexer","options","text","mangle","smartypants","options","lexer","options","block","options","options","parser","options","args","ret","walkTokens","lexer","parser","src","options"]} \ No newline at end of file diff --git a/marked.min.js b/marked.min.js index 2444b302..454f320a 100644 --- a/marked.min.js +++ b/marked.min.js @@ -3,4 +3,13 @@ * Copyright (c) 2011-2023, Christopher Jeffrey. (MIT Licensed) * https://github.com/markedjs/marked */ -!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).marked={})}(this,function(r){"use strict";function i(e,t){for(var u=0;u
'+(u?e:D(e,!0))+"
\n":""+(u?e:D(e,!0))+"
\n"},t.blockquote=function(e){return"\n"+e+"\n"},t.html=function(e,t){return e},t.heading=function(e,t,u,n){return this.options.headerIds?"
"+e+"
\n"},t.table=function(e,t){return""+e+"
"},t.br=function(){return this.options.xhtml?"'+(n?e:u(e,!0))+"
\n":""+(n?e:u(e,!0))+"
\n"}blockquote(e){return`+${e}+`}html(e,t){return e}heading(e,t,n,s){return this.options.headerIds?`
${e}
+`}table(e,t){return"${e}
`}br(){return this.options.xhtml?"An error occurred:
"+u(e.message+"",!0)+"",s?Promise.resolve(t):r?void r(null,t):t;if(s)return Promise.reject(e);if(!r)throw e;r(e)}},E=new J;function O(e,t,n){return E.parse(e,t,n)}O.options=O.setOptions=function(e){return E.setOptions(e),a(O.defaults=E.defaults),O},O.getDefaults=i,O.defaults=l,O.use=function(...e){return E.use(...e),a(O.defaults=E.defaults),O},O.walkTokens=function(e,t){return E.walkTokens(e,t)},O.parseInline=E.parseInline,O.Parser=A,O.parser=A.parse,O.Renderer=S,O.TextRenderer=T,O.Lexer=v,O.lexer=v.lex,O.Tokenizer=w,O.Slugger=R,O.Hooks=I;var te=(O.parse=O).options,ne=O.setOptions,se=O.use,re=O.walkTokens,ie=O.parseInline,le=O,ae=A.parse,oe=v.lex,f=s,Z=t({},"__esModule",{value:!0}),q=f,he=void 0,ce=void 0;if(q&&"object"==typeof q||"function"==typeof q)for(let e of L(q))D.call(Z,e)||e===he||t(Z,e,{get:()=>q[e],enumerable:!(ce=j(q,e))||ce.enumerable});return Z})(); \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index 31ff85d3..03a11304 100644 --- a/package-lock.json +++ b/package-lock.json @@ -12,17 +12,17 @@ "marked": "bin/marked.js" }, "devDependencies": { - "@babel/core": "^7.22.9", - "@babel/preset-env": "^7.22.9", "@markedjs/html-differ": "^4.0.2", - "@rollup/plugin-babel": "^6.0.3", "@semantic-release/commit-analyzer": "^10.0.1", "@semantic-release/git": "^10.0.1", "@semantic-release/github": "^9.0.4", "@semantic-release/npm": "^10.0.4", "@semantic-release/release-notes-generator": "^11.0.4", + "@typescript-eslint/eslint-plugin": "^5.59.9", + "@typescript-eslint/parser": "^5.59.9", "cheerio": "^1.0.0-rc.12", "commonmark": "0.30.0", + "cross-env": "^7.0.3", "eslint": "^8.45.0", "eslint-config-standard": "^17.1.0", "eslint-plugin-import": "^2.27.5", @@ -34,14 +34,17 @@ "markdown-it": "13.0.1", "node-fetch": "^3.3.1", "recheck": "^4.4.5", - "rollup": "^3.26.3", "semantic-release": "^21.0.7", "titleize": "^3.0.0", + "ts-expect": "^1.3.0", + "ts-node": "^10.9.1", + "tsup": "^6.7.0", + "typescript": "5.0.4", "uglify-js": "^3.17.4", "vuln-regex-detector": "^1.3.0" }, "engines": { - "node": ">= 18" + "node": ">= 16" } }, "node_modules/@aashutoshrathi/word-wrap": { @@ -53,444 +56,34 @@ "node": ">=0.10.0" } }, - "node_modules/@ampproject/remapping": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz", - "integrity": "sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==", - "dev": true, - "dependencies": { - "@jridgewell/gen-mapping": "^0.1.0", - "@jridgewell/trace-mapping": "^0.3.9" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@ampproject/remapping/node_modules/@jridgewell/gen-mapping": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz", - "integrity": "sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==", - "dev": true, - "dependencies": { - "@jridgewell/set-array": "^1.0.0", - "@jridgewell/sourcemap-codec": "^1.4.10" - }, - "engines": { - "node": ">=6.0.0" - } - }, "node_modules/@babel/code-frame": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.22.5.tgz", - "integrity": "sha512-Xmwn266vad+6DAqEB2A6V/CcZVp62BbwVmcOJc2RPuwih1kw02TjQvWVWlcKGbBPd+8/0V5DEkOcizRGYsspYQ==", + "version": "7.21.4", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.21.4.tgz", + "integrity": "sha512-LYvhNKfwWSPpocw8GI7gpK2nq3HSDuEPC/uSYaALSJu9xjsalaaYFOq0Pwt5KmVqwEbZlDu81aLXwBOmD/Fv9g==", "dev": true, "dependencies": { - "@babel/highlight": "^7.22.5" + "@babel/highlight": "^7.18.6" }, "engines": { "node": ">=6.9.0" } }, - "node_modules/@babel/compat-data": { - "version": "7.22.9", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.22.9.tgz", - "integrity": "sha512-5UamI7xkUcJ3i9qVDS+KFDEK8/7oJ55/sJMB1Ge7IEapr7KfdfV/HErR+koZwOfd+SgtFKOKRhRakdg++DcJpQ==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/core": { - "version": "7.22.9", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.22.9.tgz", - "integrity": "sha512-G2EgeufBcYw27U4hhoIwFcgc1XU7TlXJ3mv04oOv1WCuo900U/anZSPzEqNjwdjgffkk2Gs0AN0dW1CKVLcG7w==", - "dev": true, - "dependencies": { - "@ampproject/remapping": "^2.2.0", - "@babel/code-frame": "^7.22.5", - "@babel/generator": "^7.22.9", - "@babel/helper-compilation-targets": "^7.22.9", - "@babel/helper-module-transforms": "^7.22.9", - "@babel/helpers": "^7.22.6", - "@babel/parser": "^7.22.7", - "@babel/template": "^7.22.5", - "@babel/traverse": "^7.22.8", - "@babel/types": "^7.22.5", - "convert-source-map": "^1.7.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.2", - "json5": "^2.2.2", - "semver": "^6.3.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/babel" - } - }, - "node_modules/@babel/generator": { - "version": "7.22.9", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.22.9.tgz", - "integrity": "sha512-KtLMbmicyuK2Ak/FTCJVbDnkN1SlT8/kceFTiuDiiRUUSMnHMidxSCdG4ndkTOHHpoomWe/4xkvHkEOncwjYIw==", - "dev": true, - "dependencies": { - "@babel/types": "^7.22.5", - "@jridgewell/gen-mapping": "^0.3.2", - "@jridgewell/trace-mapping": "^0.3.17", - "jsesc": "^2.5.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-annotate-as-pure": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.22.5.tgz", - "integrity": "sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==", - "dev": true, - "dependencies": { - "@babel/types": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-builder-binary-assignment-operator-visitor": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.22.5.tgz", - "integrity": "sha512-m1EP3lVOPptR+2DwD125gziZNcmoNSHGmJROKoy87loWUQyJaVXDgpmruWqDARZSmtYQ+Dl25okU8+qhVzuykw==", - "dev": true, - "dependencies": { - "@babel/types": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-compilation-targets": { - "version": "7.22.9", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.22.9.tgz", - "integrity": "sha512-7qYrNM6HjpnPHJbopxmb8hSPoZ0gsX8IvUS32JGVoy+pU9e5N0nLr1VjJoR6kA4d9dmGLxNYOjeB8sUDal2WMw==", - "dev": true, - "dependencies": { - "@babel/compat-data": "^7.22.9", - "@babel/helper-validator-option": "^7.22.5", - "browserslist": "^4.21.9", - "lru-cache": "^5.1.1", - "semver": "^6.3.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/helper-compilation-targets/node_modules/lru-cache": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", - "dev": true, - "dependencies": { - "yallist": "^3.0.2" - } - }, - "node_modules/@babel/helper-compilation-targets/node_modules/yallist": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", - "dev": true - }, - "node_modules/@babel/helper-create-class-features-plugin": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.22.5.tgz", - "integrity": "sha512-xkb58MyOYIslxu3gKmVXmjTtUPvBU4odYzbiIQbWwLKIHCsx6UGZGX6F1IznMFVnDdirseUZopzN+ZRt8Xb33Q==", - "dev": true, - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-environment-visitor": "^7.22.5", - "@babel/helper-function-name": "^7.22.5", - "@babel/helper-member-expression-to-functions": "^7.22.5", - "@babel/helper-optimise-call-expression": "^7.22.5", - "@babel/helper-replace-supers": "^7.22.5", - "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", - "@babel/helper-split-export-declaration": "^7.22.5", - "semver": "^6.3.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/helper-create-regexp-features-plugin": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.22.5.tgz", - "integrity": "sha512-1VpEFOIbMRaXyDeUwUfmTIxExLwQ+zkW+Bh5zXpApA3oQedBx9v/updixWxnx/bZpKw7u8VxWjb/qWpIcmPq8A==", - "dev": true, - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "regexpu-core": "^5.3.1", - "semver": "^6.3.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/helper-define-polyfill-provider": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.4.1.tgz", - "integrity": "sha512-kX4oXixDxG197yhX+J3Wp+NpL2wuCFjWQAr6yX2jtCnflK9ulMI51ULFGIrWiX1jGfvAxdHp+XQCcP2bZGPs9A==", - "dev": true, - "dependencies": { - "@babel/helper-compilation-targets": "^7.22.6", - "@babel/helper-plugin-utils": "^7.22.5", - "debug": "^4.1.1", - "lodash.debounce": "^4.0.8", - "resolve": "^1.14.2" - }, - "peerDependencies": { - "@babel/core": "^7.4.0-0" - } - }, - "node_modules/@babel/helper-environment-visitor": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.5.tgz", - "integrity": "sha512-XGmhECfVA/5sAt+H+xpSg0mfrHq6FzNr9Oxh7PSEBBRUb/mL7Kz3NICXb194rCqAEdxkhPT1a88teizAFyvk8Q==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-function-name": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.22.5.tgz", - "integrity": "sha512-wtHSq6jMRE3uF2otvfuD3DIvVhOsSNshQl0Qrd7qC9oQJzHvOL4qQXlQn2916+CXGywIjpGuIkoyZRRxHPiNQQ==", - "dev": true, - "dependencies": { - "@babel/template": "^7.22.5", - "@babel/types": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-hoist-variables": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz", - "integrity": "sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==", - "dev": true, - "dependencies": { - "@babel/types": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-member-expression-to-functions": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.22.5.tgz", - "integrity": "sha512-aBiH1NKMG0H2cGZqspNvsaBe6wNGjbJjuLy29aU+eDZjSbbN53BaxlpB02xm9v34pLTZ1nIQPFYn2qMZoa5BQQ==", - "dev": true, - "dependencies": { - "@babel/types": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-module-imports": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.22.5.tgz", - "integrity": "sha512-8Dl6+HD/cKifutF5qGd/8ZJi84QeAKh+CEe1sBzz8UayBBGg1dAIJrdHOcOM5b2MpzWL2yuotJTtGjETq0qjXg==", - "dev": true, - "dependencies": { - "@babel/types": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-module-transforms": { - "version": "7.22.9", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.22.9.tgz", - "integrity": "sha512-t+WA2Xn5K+rTeGtC8jCsdAH52bjggG5TKRuRrAGNM/mjIbO4GxvlLMFOEz9wXY5I2XQ60PMFsAG2WIcG82dQMQ==", - "dev": true, - "dependencies": { - "@babel/helper-environment-visitor": "^7.22.5", - "@babel/helper-module-imports": "^7.22.5", - "@babel/helper-simple-access": "^7.22.5", - "@babel/helper-split-export-declaration": "^7.22.6", - "@babel/helper-validator-identifier": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/helper-optimise-call-expression": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.22.5.tgz", - "integrity": "sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw==", - "dev": true, - "dependencies": { - "@babel/types": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-plugin-utils": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.22.5.tgz", - "integrity": "sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-remap-async-to-generator": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.22.5.tgz", - "integrity": "sha512-cU0Sq1Rf4Z55fgz7haOakIyM7+x/uCFwXpLPaeRzfoUtAEAuUZjZvFPjL/rk5rW693dIgn2hng1W7xbT7lWT4g==", - "dev": true, - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-environment-visitor": "^7.22.5", - "@babel/helper-wrap-function": "^7.22.5", - "@babel/types": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/helper-replace-supers": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.22.5.tgz", - "integrity": "sha512-aLdNM5I3kdI/V9xGNyKSF3X/gTyMUBohTZ+/3QdQKAA9vxIiy12E+8E2HoOP1/DjeqU+g6as35QHJNMDDYpuCg==", - "dev": true, - "dependencies": { - "@babel/helper-environment-visitor": "^7.22.5", - "@babel/helper-member-expression-to-functions": "^7.22.5", - "@babel/helper-optimise-call-expression": "^7.22.5", - "@babel/template": "^7.22.5", - "@babel/traverse": "^7.22.5", - "@babel/types": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-simple-access": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz", - "integrity": "sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==", - "dev": true, - "dependencies": { - "@babel/types": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-skip-transparent-expression-wrappers": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.22.5.tgz", - "integrity": "sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q==", - "dev": true, - "dependencies": { - "@babel/types": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-split-export-declaration": { - "version": "7.22.6", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz", - "integrity": "sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==", - "dev": true, - "dependencies": { - "@babel/types": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-string-parser": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.22.5.tgz", - "integrity": "sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, "node_modules/@babel/helper-validator-identifier": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.5.tgz", - "integrity": "sha512-aJXu+6lErq8ltp+JhkJUfk1MTGyuA4v7f3pA+BJ5HLfNC6nAQ0Cpi9uOquUj8Hehg0aUiHzWQbOVJGao6ztBAQ==", + "version": "7.19.1", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz", + "integrity": "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==", "dev": true, "engines": { "node": ">=6.9.0" } }, - "node_modules/@babel/helper-validator-option": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.22.5.tgz", - "integrity": "sha512-R3oB6xlIVKUnxNUxbmgq7pKjxpru24zlimpE8WK47fACIlM0II/Hm1RS8IaOI7NgCr6LNS+jl5l75m20npAziw==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-wrap-function": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.22.5.tgz", - "integrity": "sha512-bYqLIBSEshYcYQyfks8ewYA8S30yaGSeRslcvKMvoUk6HHPySbxHq9YRi6ghhzEU+yhQv9bP/jXnygkStOcqZw==", - "dev": true, - "dependencies": { - "@babel/helper-function-name": "^7.22.5", - "@babel/template": "^7.22.5", - "@babel/traverse": "^7.22.5", - "@babel/types": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helpers": { - "version": "7.22.6", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.22.6.tgz", - "integrity": "sha512-YjDs6y/fVOYFV8hAf1rxd1QvR9wJe1pDBZ2AREKq/SDayfPzgk0PBnVuTCE5X1acEpMMNOVUqoe+OwiZGJ+OaA==", - "dev": true, - "dependencies": { - "@babel/template": "^7.22.5", - "@babel/traverse": "^7.22.6", - "@babel/types": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, "node_modules/@babel/highlight": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.5.tgz", - "integrity": "sha512-BSKlD1hgnedS5XRnGOljZawtag7H1yPfQp0tdNJCHoH6AZ+Pcm9VvkrK59/Yy593Ypg0zMxH2BxD1VPYUQ7UIw==", + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz", + "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==", "dev": true, "dependencies": { - "@babel/helper-validator-identifier": "^7.22.5", + "@babel/helper-validator-identifier": "^7.18.6", "chalk": "^2.0.0", "js-tokens": "^4.0.0" }, @@ -498,1262 +91,6 @@ "node": ">=6.9.0" } }, - "node_modules/@babel/parser": { - "version": "7.22.7", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.22.7.tgz", - "integrity": "sha512-7NF8pOkHP5o2vpmGgNGcfAeCvOYhGLyA3Z4eBQkT1RJlWu47n63bCs93QfJ2hIAFCil7L5P2IWhs1oToVgrL0Q==", - "dev": true, - "bin": { - "parser": "bin/babel-parser.js" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.22.5.tgz", - "integrity": "sha512-NP1M5Rf+u2Gw9qfSO4ihjcTGW5zXTi36ITLd4/EoAcEhIZ0yjMqmftDNl3QC19CX7olhrjpyU454g/2W7X0jvQ==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.22.5.tgz", - "integrity": "sha512-31Bb65aZaUwqCbWMnZPduIZxCBngHFlzyN6Dq6KAJjtx+lx6ohKHubc61OomYi7XwVD4Ol0XCVz4h+pYFR048g==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", - "@babel/plugin-transform-optional-chaining": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.13.0" - } - }, - "node_modules/@babel/plugin-proposal-private-property-in-object": { - "version": "7.21.0-placeholder-for-preset-env.2", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz", - "integrity": "sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==", - "dev": true, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-proposal-unicode-property-regex": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.18.6.tgz", - "integrity": "sha512-2BShG/d5yoZyXZfVePH91urL5wTG6ASZU9M4o03lKK8u8UW1y08OMttBSOADTcJrnPMpvDXRG3G8fyLh4ovs8w==", - "dev": true, - "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" - }, - "engines": { - "node": ">=4" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-async-generators": { - "version": "7.8.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", - "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-class-properties": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", - "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.12.13" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-class-static-block": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz", - "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-dynamic-import": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", - "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-export-namespace-from": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz", - "integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.3" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-import-assertions": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.22.5.tgz", - "integrity": "sha512-rdV97N7KqsRzeNGoWUOK6yUsWarLjE5Su/Snk9IYPU9CwkWHs4t+rTGOvffTR8XGkJMTAdLfO0xVnXm8wugIJg==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-import-attributes": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.22.5.tgz", - "integrity": "sha512-KwvoWDeNKPETmozyFE0P2rOLqh39EoQHNjqizrI5B8Vt0ZNS7M56s7dAiAqbYfiAYOuIzIh96z3iR2ktgu3tEg==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-import-meta": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", - "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-json-strings": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", - "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-logical-assignment-operators": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", - "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-nullish-coalescing-operator": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", - "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-numeric-separator": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", - "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-object-rest-spread": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", - "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-optional-catch-binding": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", - "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-optional-chaining": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", - "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-private-property-in-object": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz", - "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-top-level-await": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", - "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-unicode-sets-regex": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-unicode-sets-regex/-/plugin-syntax-unicode-sets-regex-7.18.6.tgz", - "integrity": "sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==", - "dev": true, - "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/plugin-transform-arrow-functions": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.22.5.tgz", - "integrity": "sha512-26lTNXoVRdAnsaDXPpvCNUq+OVWEVC6bx7Vvz9rC53F2bagUWW4u4ii2+h8Fejfh7RYqPxn+libeFBBck9muEw==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-async-generator-functions": { - "version": "7.22.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.22.7.tgz", - "integrity": "sha512-7HmE7pk/Fmke45TODvxvkxRMV9RazV+ZZzhOL9AG8G29TLrr3jkjwF7uJfxZ30EoXpO+LJkq4oA8NjO2DTnEDg==", - "dev": true, - "dependencies": { - "@babel/helper-environment-visitor": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-remap-async-to-generator": "^7.22.5", - "@babel/plugin-syntax-async-generators": "^7.8.4" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-async-to-generator": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.22.5.tgz", - "integrity": "sha512-b1A8D8ZzE/VhNDoV1MSJTnpKkCG5bJo+19R4o4oy03zM7ws8yEMK755j61Dc3EyvdysbqH5BOOTquJ7ZX9C6vQ==", - "dev": true, - "dependencies": { - "@babel/helper-module-imports": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-remap-async-to-generator": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-block-scoped-functions": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.22.5.tgz", - "integrity": "sha512-tdXZ2UdknEKQWKJP1KMNmuF5Lx3MymtMN/pvA+p/VEkhK8jVcQ1fzSy8KM9qRYhAf2/lV33hoMPKI/xaI9sADA==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-block-scoping": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.22.5.tgz", - "integrity": "sha512-EcACl1i5fSQ6bt+YGuU/XGCeZKStLmyVGytWkpyhCLeQVA0eu6Wtiw92V+I1T/hnezUv7j74dA/Ro69gWcU+hg==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-class-properties": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.22.5.tgz", - "integrity": "sha512-nDkQ0NfkOhPTq8YCLiWNxp1+f9fCobEjCb0n8WdbNUBc4IB5V7P1QnX9IjpSoquKrXF5SKojHleVNs2vGeHCHQ==", - "dev": true, - "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-class-static-block": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.22.5.tgz", - "integrity": "sha512-SPToJ5eYZLxlnp1UzdARpOGeC2GbHvr9d/UV0EukuVx8atktg194oe+C5BqQ8jRTkgLRVOPYeXRSBg1IlMoVRA==", - "dev": true, - "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-class-static-block": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.12.0" - } - }, - "node_modules/@babel/plugin-transform-classes": { - "version": "7.22.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.22.6.tgz", - "integrity": "sha512-58EgM6nuPNG6Py4Z3zSuu0xWu2VfodiMi72Jt5Kj2FECmaYk1RrTXA45z6KBFsu9tRgwQDwIiY4FXTt+YsSFAQ==", - "dev": true, - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-compilation-targets": "^7.22.6", - "@babel/helper-environment-visitor": "^7.22.5", - "@babel/helper-function-name": "^7.22.5", - "@babel/helper-optimise-call-expression": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-replace-supers": "^7.22.5", - "@babel/helper-split-export-declaration": "^7.22.6", - "globals": "^11.1.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-computed-properties": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.22.5.tgz", - "integrity": "sha512-4GHWBgRf0krxPX+AaPtgBAlTgTeZmqDynokHOX7aqqAB4tHs3U2Y02zH6ETFdLZGcg9UQSD1WCmkVrE9ErHeOg==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/template": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-destructuring": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.22.5.tgz", - "integrity": "sha512-GfqcFuGW8vnEqTUBM7UtPd5A4q797LTvvwKxXTgRsFjoqaJiEg9deBG6kWeQYkVEL569NpnmpC0Pkr/8BLKGnQ==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-dotall-regex": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.22.5.tgz", - "integrity": "sha512-5/Yk9QxCQCl+sOIB1WelKnVRxTJDSAIxtJLL2/pqL14ZVlbH0fUQUZa/T5/UnQtBNgghR7mfB8ERBKyKPCi7Vw==", - "dev": true, - "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-duplicate-keys": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.22.5.tgz", - "integrity": "sha512-dEnYD+9BBgld5VBXHnF/DbYGp3fqGMsyxKbtD1mDyIA7AkTSpKXFhCVuj/oQVOoALfBs77DudA0BE4d5mcpmqw==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-dynamic-import": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.22.5.tgz", - "integrity": "sha512-0MC3ppTB1AMxd8fXjSrbPa7LT9hrImt+/fcj+Pg5YMD7UQyWp/02+JWpdnCymmsXwIx5Z+sYn1bwCn4ZJNvhqQ==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-dynamic-import": "^7.8.3" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-exponentiation-operator": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.22.5.tgz", - "integrity": "sha512-vIpJFNM/FjZ4rh1myqIya9jXwrwwgFRHPjT3DkUA9ZLHuzox8jiXkOLvwm1H+PQIP3CqfC++WPKeuDi0Sjdj1g==", - "dev": true, - "dependencies": { - "@babel/helper-builder-binary-assignment-operator-visitor": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-export-namespace-from": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.22.5.tgz", - "integrity": "sha512-X4hhm7FRnPgd4nDA4b/5V280xCx6oL7Oob5+9qVS5C13Zq4bh1qq7LU0GgRU6b5dBWBvhGaXYVB4AcN6+ol6vg==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-export-namespace-from": "^7.8.3" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-for-of": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.22.5.tgz", - "integrity": "sha512-3kxQjX1dU9uudwSshyLeEipvrLjBCVthCgeTp6CzE/9JYrlAIaeekVxRpCWsDDfYTfRZRoCeZatCQvwo+wvK8A==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-function-name": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.22.5.tgz", - "integrity": "sha512-UIzQNMS0p0HHiQm3oelztj+ECwFnj+ZRV4KnguvlsD2of1whUeM6o7wGNj6oLwcDoAXQ8gEqfgC24D+VdIcevg==", - "dev": true, - "dependencies": { - "@babel/helper-compilation-targets": "^7.22.5", - "@babel/helper-function-name": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-json-strings": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.22.5.tgz", - "integrity": "sha512-DuCRB7fu8MyTLbEQd1ew3R85nx/88yMoqo2uPSjevMj3yoN7CDM8jkgrY0wmVxfJZyJ/B9fE1iq7EQppWQmR5A==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-json-strings": "^7.8.3" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-literals": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.22.5.tgz", - "integrity": "sha512-fTLj4D79M+mepcw3dgFBTIDYpbcB9Sm0bpm4ppXPaO+U+PKFFyV9MGRvS0gvGw62sd10kT5lRMKXAADb9pWy8g==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-logical-assignment-operators": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.22.5.tgz", - "integrity": "sha512-MQQOUW1KL8X0cDWfbwYP+TbVbZm16QmQXJQ+vndPtH/BoO0lOKpVoEDMI7+PskYxH+IiE0tS8xZye0qr1lGzSA==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-member-expression-literals": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.22.5.tgz", - "integrity": "sha512-RZEdkNtzzYCFl9SE9ATaUMTj2hqMb4StarOJLrZRbqqU4HSBE7UlBw9WBWQiDzrJZJdUWiMTVDI6Gv/8DPvfew==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-modules-amd": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.22.5.tgz", - "integrity": "sha512-R+PTfLTcYEmb1+kK7FNkhQ1gP4KgjpSO6HfH9+f8/yfp2Nt3ggBjiVpRwmwTlfqZLafYKJACy36yDXlEmI9HjQ==", - "dev": true, - "dependencies": { - "@babel/helper-module-transforms": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-modules-commonjs": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.22.5.tgz", - "integrity": "sha512-B4pzOXj+ONRmuaQTg05b3y/4DuFz3WcCNAXPLb2Q0GT0TrGKGxNKV4jwsXts+StaM0LQczZbOpj8o1DLPDJIiA==", - "dev": true, - "dependencies": { - "@babel/helper-module-transforms": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-simple-access": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-modules-systemjs": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.22.5.tgz", - "integrity": "sha512-emtEpoaTMsOs6Tzz+nbmcePl6AKVtS1yC4YNAeMun9U8YCsgadPNxnOPQ8GhHFB2qdx+LZu9LgoC0Lthuu05DQ==", - "dev": true, - "dependencies": { - "@babel/helper-hoist-variables": "^7.22.5", - "@babel/helper-module-transforms": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-validator-identifier": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-modules-umd": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.22.5.tgz", - "integrity": "sha512-+S6kzefN/E1vkSsKx8kmQuqeQsvCKCd1fraCM7zXm4SFoggI099Tr4G8U81+5gtMdUeMQ4ipdQffbKLX0/7dBQ==", - "dev": true, - "dependencies": { - "@babel/helper-module-transforms": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-named-capturing-groups-regex": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.22.5.tgz", - "integrity": "sha512-YgLLKmS3aUBhHaxp5hi1WJTgOUb/NCuDHzGT9z9WTt3YG+CPRhJs6nprbStx6DnWM4dh6gt7SU3sZodbZ08adQ==", - "dev": true, - "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/plugin-transform-new-target": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.22.5.tgz", - "integrity": "sha512-AsF7K0Fx/cNKVyk3a+DW0JLo+Ua598/NxMRvxDnkpCIGFh43+h/v2xyhRUYf6oD8gE4QtL83C7zZVghMjHd+iw==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-nullish-coalescing-operator": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.22.5.tgz", - "integrity": "sha512-6CF8g6z1dNYZ/VXok5uYkkBBICHZPiGEl7oDnAx2Mt1hlHVHOSIKWJaXHjQJA5VB43KZnXZDIexMchY4y2PGdA==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-numeric-separator": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.22.5.tgz", - "integrity": "sha512-NbslED1/6M+sXiwwtcAB/nieypGw02Ejf4KtDeMkCEpP6gWFMX1wI9WKYua+4oBneCCEmulOkRpwywypVZzs/g==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-numeric-separator": "^7.10.4" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-object-rest-spread": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.22.5.tgz", - "integrity": "sha512-Kk3lyDmEslH9DnvCDA1s1kkd3YWQITiBOHngOtDL9Pt6BZjzqb6hiOlb8VfjiiQJ2unmegBqZu0rx5RxJb5vmQ==", - "dev": true, - "dependencies": { - "@babel/compat-data": "^7.22.5", - "@babel/helper-compilation-targets": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-transform-parameters": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-object-super": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.22.5.tgz", - "integrity": "sha512-klXqyaT9trSjIUrcsYIfETAzmOEZL3cBYqOYLJxBHfMFFggmXOv+NYSX/Jbs9mzMVESw/WycLFPRx8ba/b2Ipw==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-replace-supers": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-optional-catch-binding": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.22.5.tgz", - "integrity": "sha512-pH8orJahy+hzZje5b8e2QIlBWQvGpelS76C63Z+jhZKsmzfNaPQ+LaW6dcJ9bxTpo1mtXbgHwy765Ro3jftmUg==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-optional-chaining": { - "version": "7.22.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.22.6.tgz", - "integrity": "sha512-Vd5HiWml0mDVtcLHIoEU5sw6HOUW/Zk0acLs/SAeuLzkGNOPc9DB4nkUajemhCmTIz3eiaKREZn2hQQqF79YTg==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", - "@babel/plugin-syntax-optional-chaining": "^7.8.3" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-parameters": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.22.5.tgz", - "integrity": "sha512-AVkFUBurORBREOmHRKo06FjHYgjrabpdqRSwq6+C7R5iTCZOsM4QbcB27St0a4U6fffyAOqh3s/qEfybAhfivg==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-private-methods": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.22.5.tgz", - "integrity": "sha512-PPjh4gyrQnGe97JTalgRGMuU4icsZFnWkzicB/fUtzlKUqvsWBKEpPPfr5a2JiyirZkHxnAqkQMO5Z5B2kK3fA==", - "dev": true, - "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-private-property-in-object": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.22.5.tgz", - "integrity": "sha512-/9xnaTTJcVoBtSSmrVyhtSvO3kbqS2ODoh2juEU72c3aYonNF0OMGiaz2gjukyKM2wBBYJP38S4JiE0Wfb5VMQ==", - "dev": true, - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-create-class-features-plugin": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-private-property-in-object": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-property-literals": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.22.5.tgz", - "integrity": "sha512-TiOArgddK3mK/x1Qwf5hay2pxI6wCZnvQqrFSqbtg1GLl2JcNMitVH/YnqjP+M31pLUeTfzY1HAXFDnUBV30rQ==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-regenerator": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.22.5.tgz", - "integrity": "sha512-rR7KePOE7gfEtNTh9Qw+iO3Q/e4DEsoQ+hdvM6QUDH7JRJ5qxq5AA52ZzBWbI5i9lfNuvySgOGP8ZN7LAmaiPw==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "regenerator-transform": "^0.15.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-reserved-words": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.22.5.tgz", - "integrity": "sha512-DTtGKFRQUDm8svigJzZHzb/2xatPc6TzNvAIJ5GqOKDsGFYgAskjRulbR/vGsPKq3OPqtexnz327qYpP57RFyA==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-shorthand-properties": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.22.5.tgz", - "integrity": "sha512-vM4fq9IXHscXVKzDv5itkO1X52SmdFBFcMIBZ2FRn2nqVYqw6dBexUgMvAjHW+KXpPPViD/Yo3GrDEBaRC0QYA==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-spread": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.22.5.tgz", - "integrity": "sha512-5ZzDQIGyvN4w8+dMmpohL6MBo+l2G7tfC/O2Dg7/hjpgeWvUx8FzfeOKxGog9IimPa4YekaQ9PlDqTLOljkcxg==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-sticky-regex": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.22.5.tgz", - "integrity": "sha512-zf7LuNpHG0iEeiyCNwX4j3gDg1jgt1k3ZdXBKbZSoA3BbGQGvMiSvfbZRR3Dr3aeJe3ooWFZxOOG3IRStYp2Bw==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-template-literals": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.22.5.tgz", - "integrity": "sha512-5ciOehRNf+EyUeewo8NkbQiUs4d6ZxiHo6BcBcnFlgiJfu16q0bQUw9Jvo0b0gBKFG1SMhDSjeKXSYuJLeFSMA==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-typeof-symbol": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.22.5.tgz", - "integrity": "sha512-bYkI5lMzL4kPii4HHEEChkD0rkc+nvnlR6+o/qdqR6zrm0Sv/nodmyLhlq2DO0YKLUNd2VePmPRjJXSBh9OIdA==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-unicode-escapes": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.22.5.tgz", - "integrity": "sha512-biEmVg1IYB/raUO5wT1tgfacCef15Fbzhkx493D3urBI++6hpJ+RFG4SrWMn0NEZLfvilqKf3QDrRVZHo08FYg==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-unicode-property-regex": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.22.5.tgz", - "integrity": "sha512-HCCIb+CbJIAE6sXn5CjFQXMwkCClcOfPCzTlilJ8cUatfzwHlWQkbtV0zD338u9dZskwvuOYTuuaMaA8J5EI5A==", - "dev": true, - "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-unicode-regex": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.22.5.tgz", - "integrity": "sha512-028laaOKptN5vHJf9/Arr/HiJekMd41hOEZYvNsrsXqJ7YPYuX2bQxh31fkZzGmq3YqHRJzYFFAVYvKfMPKqyg==", - "dev": true, - "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-unicode-sets-regex": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.22.5.tgz", - "integrity": "sha512-lhMfi4FC15j13eKrh3DnYHjpGj6UKQHtNKTbtc1igvAhRy4+kLhV07OpLcsN0VgDEw/MjAvJO4BdMJsHwMhzCg==", - "dev": true, - "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/preset-env": { - "version": "7.22.9", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.22.9.tgz", - "integrity": "sha512-wNi5H/Emkhll/bqPjsjQorSykrlfY5OWakd6AulLvMEytpKasMVUpVy8RL4qBIBs5Ac6/5i0/Rv0b/Fg6Eag/g==", - "dev": true, - "dependencies": { - "@babel/compat-data": "^7.22.9", - "@babel/helper-compilation-targets": "^7.22.9", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-validator-option": "^7.22.5", - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.22.5", - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.22.5", - "@babel/plugin-proposal-private-property-in-object": "7.21.0-placeholder-for-preset-env.2", - "@babel/plugin-syntax-async-generators": "^7.8.4", - "@babel/plugin-syntax-class-properties": "^7.12.13", - "@babel/plugin-syntax-class-static-block": "^7.14.5", - "@babel/plugin-syntax-dynamic-import": "^7.8.3", - "@babel/plugin-syntax-export-namespace-from": "^7.8.3", - "@babel/plugin-syntax-import-assertions": "^7.22.5", - "@babel/plugin-syntax-import-attributes": "^7.22.5", - "@babel/plugin-syntax-import-meta": "^7.10.4", - "@babel/plugin-syntax-json-strings": "^7.8.3", - "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", - "@babel/plugin-syntax-numeric-separator": "^7.10.4", - "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", - "@babel/plugin-syntax-optional-chaining": "^7.8.3", - "@babel/plugin-syntax-private-property-in-object": "^7.14.5", - "@babel/plugin-syntax-top-level-await": "^7.14.5", - "@babel/plugin-syntax-unicode-sets-regex": "^7.18.6", - "@babel/plugin-transform-arrow-functions": "^7.22.5", - "@babel/plugin-transform-async-generator-functions": "^7.22.7", - "@babel/plugin-transform-async-to-generator": "^7.22.5", - "@babel/plugin-transform-block-scoped-functions": "^7.22.5", - "@babel/plugin-transform-block-scoping": "^7.22.5", - "@babel/plugin-transform-class-properties": "^7.22.5", - "@babel/plugin-transform-class-static-block": "^7.22.5", - "@babel/plugin-transform-classes": "^7.22.6", - "@babel/plugin-transform-computed-properties": "^7.22.5", - "@babel/plugin-transform-destructuring": "^7.22.5", - "@babel/plugin-transform-dotall-regex": "^7.22.5", - "@babel/plugin-transform-duplicate-keys": "^7.22.5", - "@babel/plugin-transform-dynamic-import": "^7.22.5", - "@babel/plugin-transform-exponentiation-operator": "^7.22.5", - "@babel/plugin-transform-export-namespace-from": "^7.22.5", - "@babel/plugin-transform-for-of": "^7.22.5", - "@babel/plugin-transform-function-name": "^7.22.5", - "@babel/plugin-transform-json-strings": "^7.22.5", - "@babel/plugin-transform-literals": "^7.22.5", - "@babel/plugin-transform-logical-assignment-operators": "^7.22.5", - "@babel/plugin-transform-member-expression-literals": "^7.22.5", - "@babel/plugin-transform-modules-amd": "^7.22.5", - "@babel/plugin-transform-modules-commonjs": "^7.22.5", - "@babel/plugin-transform-modules-systemjs": "^7.22.5", - "@babel/plugin-transform-modules-umd": "^7.22.5", - "@babel/plugin-transform-named-capturing-groups-regex": "^7.22.5", - "@babel/plugin-transform-new-target": "^7.22.5", - "@babel/plugin-transform-nullish-coalescing-operator": "^7.22.5", - "@babel/plugin-transform-numeric-separator": "^7.22.5", - "@babel/plugin-transform-object-rest-spread": "^7.22.5", - "@babel/plugin-transform-object-super": "^7.22.5", - "@babel/plugin-transform-optional-catch-binding": "^7.22.5", - "@babel/plugin-transform-optional-chaining": "^7.22.6", - "@babel/plugin-transform-parameters": "^7.22.5", - "@babel/plugin-transform-private-methods": "^7.22.5", - "@babel/plugin-transform-private-property-in-object": "^7.22.5", - "@babel/plugin-transform-property-literals": "^7.22.5", - "@babel/plugin-transform-regenerator": "^7.22.5", - "@babel/plugin-transform-reserved-words": "^7.22.5", - "@babel/plugin-transform-shorthand-properties": "^7.22.5", - "@babel/plugin-transform-spread": "^7.22.5", - "@babel/plugin-transform-sticky-regex": "^7.22.5", - "@babel/plugin-transform-template-literals": "^7.22.5", - "@babel/plugin-transform-typeof-symbol": "^7.22.5", - "@babel/plugin-transform-unicode-escapes": "^7.22.5", - "@babel/plugin-transform-unicode-property-regex": "^7.22.5", - "@babel/plugin-transform-unicode-regex": "^7.22.5", - "@babel/plugin-transform-unicode-sets-regex": "^7.22.5", - "@babel/preset-modules": "^0.1.5", - "@babel/types": "^7.22.5", - "babel-plugin-polyfill-corejs2": "^0.4.4", - "babel-plugin-polyfill-corejs3": "^0.8.2", - "babel-plugin-polyfill-regenerator": "^0.5.1", - "core-js-compat": "^3.31.0", - "semver": "^6.3.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/preset-modules": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.5.tgz", - "integrity": "sha512-A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/plugin-proposal-unicode-property-regex": "^7.4.4", - "@babel/plugin-transform-dotall-regex": "^7.4.4", - "@babel/types": "^7.4.4", - "esutils": "^2.0.2" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/regjsgen": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/@babel/regjsgen/-/regjsgen-0.8.0.tgz", - "integrity": "sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==", - "dev": true - }, - "node_modules/@babel/runtime": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.22.5.tgz", - "integrity": "sha512-ecjvYlnAaZ/KVneE/OdKYBYfgXV3Ptu6zQWmgEF7vwKhQnvVS6bjMD2XYgj+SNvQ1GfK/pjgokfPkC/2CO8CuA==", - "dev": true, - "dependencies": { - "regenerator-runtime": "^0.13.11" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/template": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.22.5.tgz", - "integrity": "sha512-X7yV7eiwAxdj9k94NEylvbVHLiVG1nvzCV2EAowhxLTwODV1jl9UzZ48leOC0sH7OnuHrIkllaBgneUykIcZaw==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.22.5", - "@babel/parser": "^7.22.5", - "@babel/types": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/traverse": { - "version": "7.22.8", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.22.8.tgz", - "integrity": "sha512-y6LPR+wpM2I3qJrsheCTwhIinzkETbplIgPBbwvqPKc+uljeA5gP+3nP8irdYt1mjQaDnlIcG+dw8OjAco4GXw==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.22.5", - "@babel/generator": "^7.22.7", - "@babel/helper-environment-visitor": "^7.22.5", - "@babel/helper-function-name": "^7.22.5", - "@babel/helper-hoist-variables": "^7.22.5", - "@babel/helper-split-export-declaration": "^7.22.6", - "@babel/parser": "^7.22.7", - "@babel/types": "^7.22.5", - "debug": "^4.1.0", - "globals": "^11.1.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/types": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.22.5.tgz", - "integrity": "sha512-zo3MIHGOkPOfoRXitsgHLjEXmlDaD/5KU1Uzuc9GNiZPhSqVxVRtxuPaSBZDsYZ9qV88AjtMtWW7ww98loJ9KA==", - "dev": true, - "dependencies": { - "@babel/helper-string-parser": "^7.22.5", - "@babel/helper-validator-identifier": "^7.22.5", - "to-fast-properties": "^2.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, "node_modules/@colors/colors": { "version": "1.5.0", "resolved": "https://registry.npmjs.org/@colors/colors/-/colors-1.5.0.tgz", @@ -1764,6 +101,44 @@ "node": ">=0.1.90" } }, + "node_modules/@cspotcode/source-map-support": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz", + "integrity": "sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==", + "dev": true, + "dependencies": { + "@jridgewell/trace-mapping": "0.3.9" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@cspotcode/source-map-support/node_modules/@jridgewell/trace-mapping": { + "version": "0.3.9", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz", + "integrity": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==", + "dev": true, + "dependencies": { + "@jridgewell/resolve-uri": "^3.0.3", + "@jridgewell/sourcemap-codec": "^1.4.10" + } + }, + "node_modules/@esbuild/darwin-arm64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.17.19.tgz", + "integrity": "sha512-80wEoCfF/hFKM6WE1FyBHc9SfUblloAWx6FJkFWTWiCoht9Mc0ARGEM47e67W9rI09YoUxJL68WHfDRYEAvOhg==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, "node_modules/@eslint-community/eslint-utils": { "version": "4.4.0", "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", @@ -2051,15 +426,6 @@ "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/@nicolo-ribaudo/semver-v6": { - "version": "6.3.3", - "resolved": "https://registry.npmjs.org/@nicolo-ribaudo/semver-v6/-/semver-v6-6.3.3.tgz", - "integrity": "sha512-3Yc1fUTs69MG/uZbJlLSI3JISMn2UV2rg+1D/vROUqZyh3l6iYHCs7GMp+M40ZD7yOdDbYjJcU1oTJhrc+dGKg==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - } - }, "node_modules/@nodelib/fs.scandir": { "version": "2.1.5", "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", @@ -2278,54 +644,6 @@ "node": ">=12" } }, - "node_modules/@rollup/plugin-babel": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/@rollup/plugin-babel/-/plugin-babel-6.0.3.tgz", - "integrity": "sha512-fKImZKppa1A/gX73eg4JGo+8kQr/q1HBQaCGKECZ0v4YBBv3lFqi14+7xyApECzvkLTHCifx+7ntcrvtBIRcpg==", - "dev": true, - "dependencies": { - "@babel/helper-module-imports": "^7.18.6", - "@rollup/pluginutils": "^5.0.1" - }, - "engines": { - "node": ">=14.0.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0", - "@types/babel__core": "^7.1.9", - "rollup": "^1.20.0||^2.0.0||^3.0.0" - }, - "peerDependenciesMeta": { - "@types/babel__core": { - "optional": true - }, - "rollup": { - "optional": true - } - } - }, - "node_modules/@rollup/pluginutils": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.0.2.tgz", - "integrity": "sha512-pTd9rIsP92h+B6wWwFbW8RkZv4hiR/xKsqre4SIuAOaOEQRxi0lqLke9k2/7WegC85GgUs9pjmOjCUi3In4vwA==", - "dev": true, - "dependencies": { - "@types/estree": "^1.0.0", - "estree-walker": "^2.0.2", - "picomatch": "^2.3.1" - }, - "engines": { - "node": ">=14.0.0" - }, - "peerDependencies": { - "rollup": "^1.20.0||^2.0.0||^3.0.0" - }, - "peerDependenciesMeta": { - "rollup": { - "optional": true - } - } - }, "node_modules/@semantic-release/commit-analyzer": { "version": "10.0.1", "resolved": "https://registry.npmjs.org/@semantic-release/commit-analyzer/-/commit-analyzer-10.0.1.tgz", @@ -3044,6 +1362,30 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/@tsconfig/node10": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.9.tgz", + "integrity": "sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA==", + "dev": true + }, + "node_modules/@tsconfig/node12": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.11.tgz", + "integrity": "sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==", + "dev": true + }, + "node_modules/@tsconfig/node14": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.3.tgz", + "integrity": "sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==", + "dev": true + }, + "node_modules/@tsconfig/node16": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.4.tgz", + "integrity": "sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==", + "dev": true + }, "node_modules/@types/concat-stream": { "version": "1.6.1", "resolved": "https://registry.npmjs.org/@types/concat-stream/-/concat-stream-1.6.1.tgz", @@ -3053,12 +1395,6 @@ "@types/node": "*" } }, - "node_modules/@types/estree": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.0.tgz", - "integrity": "sha512-WulqXMDUTYAXCjZnk6JtIHPigp55cVtDgDrO2gHRwhyJto21+1zbVCtOYB2L1F9w4qCQ0rOGWBnBe0FNTiEJIQ==", - "dev": true - }, "node_modules/@types/form-data": { "version": "0.0.33", "resolved": "https://registry.npmjs.org/@types/form-data/-/form-data-0.0.33.tgz", @@ -3068,6 +1404,12 @@ "@types/node": "*" } }, + "node_modules/@types/json-schema": { + "version": "7.0.12", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.12.tgz", + "integrity": "sha512-Hr5Jfhc9eYOQNPYO5WLDq/n4jqijdHNlDXjuAQkkt+mWdQR+XJToOHrsD4cPaMXpn6KO7y2+wM8AZEs8VpBLVA==", + "dev": true + }, "node_modules/@types/json5": { "version": "0.0.29", "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", @@ -3104,6 +1446,296 @@ "integrity": "sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==", "dev": true }, + "node_modules/@types/semver": { + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.0.tgz", + "integrity": "sha512-G8hZ6XJiHnuhQKR7ZmysCeJWE08o8T0AXtk5darsCaTVsYZhhgUrq53jizaR2FvsoeCwJhlmwTjkXBY5Pn/ZHw==", + "dev": true + }, + "node_modules/@typescript-eslint/eslint-plugin": { + "version": "5.59.9", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.59.9.tgz", + "integrity": "sha512-4uQIBq1ffXd2YvF7MAvehWKW3zVv/w+mSfRAu+8cKbfj3nwzyqJLNcZJpQ/WZ1HLbJDiowwmQ6NO+63nCA+fqA==", + "dev": true, + "dependencies": { + "@eslint-community/regexpp": "^4.4.0", + "@typescript-eslint/scope-manager": "5.59.9", + "@typescript-eslint/type-utils": "5.59.9", + "@typescript-eslint/utils": "5.59.9", + "debug": "^4.3.4", + "grapheme-splitter": "^1.0.4", + "ignore": "^5.2.0", + "natural-compare-lite": "^1.4.0", + "semver": "^7.3.7", + "tsutils": "^3.21.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "@typescript-eslint/parser": "^5.0.0", + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/eslint-plugin/node_modules/semver": { + "version": "7.5.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.1.tgz", + "integrity": "sha512-Wvss5ivl8TMRZXXESstBA4uR5iXgEN/VC5/sOcuXdVLzcdkz4HWetIoRfG5gb5X+ij/G9rw9YoGn3QoQ8OCSpw==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@typescript-eslint/parser": { + "version": "5.59.9", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.59.9.tgz", + "integrity": "sha512-FsPkRvBtcLQ/eVK1ivDiNYBjn3TGJdXy2fhXX+rc7czWl4ARwnpArwbihSOHI2Peg9WbtGHrbThfBUkZZGTtvQ==", + "dev": true, + "dependencies": { + "@typescript-eslint/scope-manager": "5.59.9", + "@typescript-eslint/types": "5.59.9", + "@typescript-eslint/typescript-estree": "5.59.9", + "debug": "^4.3.4" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/scope-manager": { + "version": "5.59.9", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.59.9.tgz", + "integrity": "sha512-8RA+E+w78z1+2dzvK/tGZ2cpGigBZ58VMEHDZtpE1v+LLjzrYGc8mMaTONSxKyEkz3IuXFM0IqYiGHlCsmlZxQ==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "5.59.9", + "@typescript-eslint/visitor-keys": "5.59.9" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/type-utils": { + "version": "5.59.9", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.59.9.tgz", + "integrity": "sha512-ksEsT0/mEHg9e3qZu98AlSrONAQtrSTljL3ow9CGej8eRo7pe+yaC/mvTjptp23Xo/xIf2mLZKC6KPv4Sji26Q==", + "dev": true, + "dependencies": { + "@typescript-eslint/typescript-estree": "5.59.9", + "@typescript-eslint/utils": "5.59.9", + "debug": "^4.3.4", + "tsutils": "^3.21.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "*" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/types": { + "version": "5.59.9", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.59.9.tgz", + "integrity": "sha512-uW8H5NRgTVneSVTfiCVffBb8AbwWSKg7qcA4Ot3JI3MPCJGsB4Db4BhvAODIIYE5mNj7Q+VJkK7JxmRhk2Lyjw==", + "dev": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/typescript-estree": { + "version": "5.59.9", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.59.9.tgz", + "integrity": "sha512-pmM0/VQ7kUhd1QyIxgS+aRvMgw+ZljB3eDb+jYyp6d2bC0mQWLzUDF+DLwCTkQ3tlNyVsvZRXjFyV0LkU/aXjA==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "5.59.9", + "@typescript-eslint/visitor-keys": "5.59.9", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "semver": "^7.3.7", + "tsutils": "^3.21.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/typescript-estree/node_modules/globby": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", + "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", + "dev": true, + "dependencies": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.2.9", + "ignore": "^5.2.0", + "merge2": "^1.4.1", + "slash": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@typescript-eslint/typescript-estree/node_modules/semver": { + "version": "7.5.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.1.tgz", + "integrity": "sha512-Wvss5ivl8TMRZXXESstBA4uR5iXgEN/VC5/sOcuXdVLzcdkz4HWetIoRfG5gb5X+ij/G9rw9YoGn3QoQ8OCSpw==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@typescript-eslint/typescript-estree/node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/@typescript-eslint/utils": { + "version": "5.59.9", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.59.9.tgz", + "integrity": "sha512-1PuMYsju/38I5Ggblaeb98TOoUvjhRvLpLa1DoTOFaLWqaXl/1iQ1eGurTXgBY58NUdtfTXKP5xBq7q9NDaLKg==", + "dev": true, + "dependencies": { + "@eslint-community/eslint-utils": "^4.2.0", + "@types/json-schema": "^7.0.9", + "@types/semver": "^7.3.12", + "@typescript-eslint/scope-manager": "5.59.9", + "@typescript-eslint/types": "5.59.9", + "@typescript-eslint/typescript-estree": "5.59.9", + "eslint-scope": "^5.1.1", + "semver": "^7.3.7" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/@typescript-eslint/utils/node_modules/eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "dev": true, + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/@typescript-eslint/utils/node_modules/estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/@typescript-eslint/utils/node_modules/semver": { + "version": "7.5.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.1.tgz", + "integrity": "sha512-Wvss5ivl8TMRZXXESstBA4uR5iXgEN/VC5/sOcuXdVLzcdkz4HWetIoRfG5gb5X+ij/G9rw9YoGn3QoQ8OCSpw==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@typescript-eslint/visitor-keys": { + "version": "5.59.9", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.59.9.tgz", + "integrity": "sha512-bT7s0td97KMaLwpEBckbzj/YohnvXtqbe2XgqNvTl6RJVakY5mvENOTPvw5u66nljfZxthESpDozs86U+oLY8Q==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "5.59.9", + "eslint-visitor-keys": "^3.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, "node_modules/acorn": { "version": "8.9.0", "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.9.0.tgz", @@ -3125,6 +1757,15 @@ "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" } }, + "node_modules/acorn-walk": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz", + "integrity": "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==", + "dev": true, + "engines": { + "node": ">=0.4.0" + } + }, "node_modules/agent-base": { "version": "7.1.0", "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.0.tgz", @@ -3220,6 +1861,31 @@ "integrity": "sha512-QXu7BPrP29VllRxH8GwB7x5iX5qWKAAMLqKQGWTeLWVlNHNOpVMJ91dsxQAIWXpjuW5wqvxu3Jd/nRjrJ+0pqg==", "dev": true }, + "node_modules/any-promise": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", + "integrity": "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==", + "dev": true + }, + "node_modules/anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "dev": true, + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/arg": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", + "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==", + "dev": true + }, "node_modules/argparse": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", @@ -3235,7 +1901,7 @@ "node_modules/array-ify": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/array-ify/-/array-ify-1.0.0.tgz", - "integrity": "sha1-nlKHYrSpBmrRY6aWKjZEGOlibs4=", + "integrity": "sha512-c5AMf34bKdvPhQ7tBGhqkgKNUzMr4WUs+WDtC2ZUGOUncbxKMTvqxYctiseW3+L4bA8ec+GcZ6/A/FW4m8ukng==", "dev": true }, "node_modules/array-includes": { @@ -3257,6 +1923,15 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/array-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, "node_modules/array.prototype.flat": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.1.tgz", @@ -3296,7 +1971,7 @@ "node_modules/arrify": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", - "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=", + "integrity": "sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==", "dev": true, "engines": { "node": ">=0.10.0" @@ -3326,45 +2001,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/babel-plugin-polyfill-corejs2": { - "version": "0.4.4", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.4.tgz", - "integrity": "sha512-9WeK9snM1BfxB38goUEv2FLnA6ja07UMfazFHzCXUb3NyDZAwfXvQiURQ6guTTMeHcOsdknULm1PDhs4uWtKyA==", - "dev": true, - "dependencies": { - "@babel/compat-data": "^7.22.6", - "@babel/helper-define-polyfill-provider": "^0.4.1", - "@nicolo-ribaudo/semver-v6": "^6.3.3" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/babel-plugin-polyfill-corejs3": { - "version": "0.8.2", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.8.2.tgz", - "integrity": "sha512-Cid+Jv1BrY9ReW9lIfNlNpsI53N+FN7gE+f73zLAUbr9C52W4gKLWSByx47pfDJsEysojKArqOtOKZSVIIUTuQ==", - "dev": true, - "dependencies": { - "@babel/helper-define-polyfill-provider": "^0.4.1", - "core-js-compat": "^3.31.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/babel-plugin-polyfill-regenerator": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.5.1.tgz", - "integrity": "sha512-L8OyySuI6OSQ5hFy9O+7zFjyr4WhAfRjLIOkhQGYl+emwJkd/S4XXT1JpfrgR1jrQ1NcGiOh+yAdGlF8pnC3Jw==", - "dev": true, - "dependencies": { - "@babel/helper-define-polyfill-provider": "^0.4.1" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, "node_modules/balanced-match": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", @@ -3377,6 +2013,15 @@ "integrity": "sha512-NzUnlZexiaH/46WDhANlyR2bXRopNg4F/zuSA3OpZnllCUgRaOF2znDioDWrmbNVsuZk6l9pMquQB38cfBZwkQ==", "dev": true }, + "node_modules/binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, "node_modules/boolbase": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", @@ -3411,38 +2056,6 @@ "node": ">=8" } }, - "node_modules/browserslist": { - "version": "4.21.9", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.9.tgz", - "integrity": "sha512-M0MFoZzbUrRU4KNfCrDLnvyE7gub+peetoTid3TBIqtunaDJyXlwhakT+/VkvSXcfIzFfK/nkCs4nmyTmxdNSg==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "dependencies": { - "caniuse-lite": "^1.0.30001503", - "electron-to-chromium": "^1.4.431", - "node-releases": "^2.0.12", - "update-browserslist-db": "^1.0.11" - }, - "bin": { - "browserslist": "cli.js" - }, - "engines": { - "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" - } - }, "node_modules/buffer-from": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", @@ -3473,6 +2086,30 @@ "node": ">=10" } }, + "node_modules/bundle-require": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/bundle-require/-/bundle-require-4.0.1.tgz", + "integrity": "sha512-9NQkRHlNdNpDBGmLpngF3EFDcwodhMUuLz9PaWYciVcQF9SE4LFjM2DB/xV1Li5JiuDMv7ZUWuC3rGbqR0MAXQ==", + "dev": true, + "dependencies": { + "load-tsconfig": "^0.2.3" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "peerDependencies": { + "esbuild": ">=0.17" + } + }, + "node_modules/cac": { + "version": "6.7.14", + "resolved": "https://registry.npmjs.org/cac/-/cac-6.7.14.tgz", + "integrity": "sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, "node_modules/call-bind": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", @@ -3521,26 +2158,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/caniuse-lite": { - "version": "1.0.30001514", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001514.tgz", - "integrity": "sha512-ENcIpYBmwAAOm/V2cXgM7rZUrKKaqisZl4ZAI520FIkqGXUxJjmaIssbRW5HVVR5tyV6ygTLIm15aU8LUmQSaQ==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/caniuse-lite" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ] - }, "node_modules/cardinal": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/cardinal/-/cardinal-2.1.1.tgz", @@ -3612,6 +2229,45 @@ "url": "https://github.com/sponsors/fb55" } }, + "node_modules/chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ], + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/chokidar/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, "node_modules/clean-stack": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", @@ -3691,6 +2347,15 @@ "node": ">= 0.8" } }, + "node_modules/commander": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", + "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, "node_modules/commonmark": { "version": "0.30.0", "resolved": "https://registry.npmjs.org/commonmark/-/commonmark-0.30.0.tgz", @@ -3814,28 +2479,6 @@ "node": ">=14" } }, - "node_modules/convert-source-map": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.8.0.tgz", - "integrity": "sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==", - "dev": true, - "dependencies": { - "safe-buffer": "~5.1.1" - } - }, - "node_modules/core-js-compat": { - "version": "3.31.1", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.31.1.tgz", - "integrity": "sha512-wIDWd2s5/5aJSdpOJHfSibxNODxoGoWOBHt8JSPB41NOE94M7kuTPZCYLOlTtuoXTsBPKobpJ6T+y0SSy5L9SA==", - "dev": true, - "dependencies": { - "browserslist": "^4.21.9" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/core-js" - } - }, "node_modules/core-util-is": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", @@ -3857,6 +2500,30 @@ "node": ">=14" } }, + "node_modules/create-require": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz", + "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==", + "dev": true + }, + "node_modules/cross-env": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-env/-/cross-env-7.0.3.tgz", + "integrity": "sha512-+/HKd6EgcQCJGh2PSjZuUitQBQynKor4wrFbRg4DtAgS1aWO+gU52xpH7M9ScGgXSYmAVS9bIJ8EzuaGw0oNAw==", + "dev": true, + "dependencies": { + "cross-spawn": "^7.0.1" + }, + "bin": { + "cross-env": "src/bin/cross-env.js", + "cross-env-shell": "src/bin/cross-env-shell.js" + }, + "engines": { + "node": ">=10.14", + "npm": ">=6", + "yarn": ">=1" + } + }, "node_modules/cross-spawn": { "version": "7.0.3", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", @@ -3964,16 +2631,16 @@ "node_modules/decamelize": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", + "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==", "dev": true, "engines": { "node": ">=0.10.0" } }, "node_modules/decamelize-keys": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/decamelize-keys/-/decamelize-keys-1.1.0.tgz", - "integrity": "sha1-0XGoeTMlKAfrPLYdwcFEXQeN8tk=", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/decamelize-keys/-/decamelize-keys-1.1.1.tgz", + "integrity": "sha512-WiPxgEirIV0/eIOMcnFBA3/IJZAZqKnwAwWyvvdi4lsr1WCN22nhdf/3db3DoZcUjTV2SqfzIwNyp6y2xs3nmg==", "dev": true, "dependencies": { "decamelize": "^1.1.0", @@ -3981,12 +2648,15 @@ }, "engines": { "node": ">=0.10.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/decamelize-keys/node_modules/map-obj": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", - "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=", + "integrity": "sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg==", "dev": true, "engines": { "node": ">=0.10.0" @@ -4165,12 +2835,6 @@ "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", "dev": true }, - "node_modules/electron-to-chromium": { - "version": "1.4.454", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.454.tgz", - "integrity": "sha512-pmf1rbAStw8UEQ0sr2cdJtWl48ZMuPD9Sto8HVQOq9vx9j2WgDEN6lYoaqFvqEHYOmGA9oRGn7LqWI9ta0YugQ==", - "dev": true - }, "node_modules/emoji-regex": { "version": "8.0.0", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", @@ -4402,6 +3066,43 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/esbuild": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.17.19.tgz", + "integrity": "sha512-XQ0jAPFkK/u3LcVRcvVHQcTIqD6E2H1fvZMA5dQPSOWb3suUbWbfbRf94pjc0bNzRYLfIrDRQXr7X+LHIm5oHw==", + "dev": true, + "hasInstallScript": true, + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=12" + }, + "optionalDependencies": { + "@esbuild/android-arm": "0.17.19", + "@esbuild/android-arm64": "0.17.19", + "@esbuild/android-x64": "0.17.19", + "@esbuild/darwin-arm64": "0.17.19", + "@esbuild/darwin-x64": "0.17.19", + "@esbuild/freebsd-arm64": "0.17.19", + "@esbuild/freebsd-x64": "0.17.19", + "@esbuild/linux-arm": "0.17.19", + "@esbuild/linux-arm64": "0.17.19", + "@esbuild/linux-ia32": "0.17.19", + "@esbuild/linux-loong64": "0.17.19", + "@esbuild/linux-mips64el": "0.17.19", + "@esbuild/linux-ppc64": "0.17.19", + "@esbuild/linux-riscv64": "0.17.19", + "@esbuild/linux-s390x": "0.17.19", + "@esbuild/linux-x64": "0.17.19", + "@esbuild/netbsd-x64": "0.17.19", + "@esbuild/openbsd-x64": "0.17.19", + "@esbuild/sunos-x64": "0.17.19", + "@esbuild/win32-arm64": "0.17.19", + "@esbuild/win32-ia32": "0.17.19", + "@esbuild/win32-x64": "0.17.19" + } + }, "node_modules/escalade": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", @@ -4940,12 +3641,6 @@ "node": ">=4.0" } }, - "node_modules/estree-walker": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", - "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", - "dev": true - }, "node_modules/esutils": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", @@ -5325,15 +4020,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/gensync": { - "version": "1.0.0-beta.2", - "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", - "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, "node_modules/get-caller-file": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", @@ -5459,15 +4145,6 @@ "node": ">=10.13.0" } }, - "node_modules/globals": { - "version": "11.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", - "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", - "dev": true, - "engines": { - "node": ">=4" - } - }, "node_modules/globalthis": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.3.tgz", @@ -5520,6 +4197,12 @@ "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==", "dev": true }, + "node_modules/grapheme-splitter": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz", + "integrity": "sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==", + "dev": true + }, "node_modules/graphemer": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", @@ -5547,6 +4230,15 @@ "uglify-js": "^3.1.4" } }, + "node_modules/handlebars/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/hard-rejection": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/hard-rejection/-/hard-rejection-2.1.0.tgz", @@ -5899,6 +4591,18 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dev": true, + "dependencies": { + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/is-boolean-object": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", @@ -6041,7 +4745,7 @@ "node_modules/is-plain-obj": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", - "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=", + "integrity": "sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==", "dev": true, "engines": { "node": ">=0.10.0" @@ -6129,7 +4833,7 @@ "node_modules/is-text-path": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/is-text-path/-/is-text-path-1.0.1.tgz", - "integrity": "sha1-Thqg+1G/vLPpJogAE5cgLBd1tm4=", + "integrity": "sha512-xFuJpne9oFz5qDaodwmmG08e3CawH/2ZV8Qqza1Ko7Sk8POWbkRdwIoAWVhqvq0XeUzANEhKo2n0IXUGBm7A/w==", "dev": true, "dependencies": { "text-extensions": "^1.0.0" @@ -6301,6 +5005,15 @@ "node": ">= 0.6.0" } }, + "node_modules/joycon": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/joycon/-/joycon-3.1.1.tgz", + "integrity": "sha512-34wB/Y7MW7bzjKRjUKTa46I2Z7eV62Rkhva+KkopW7Qvv/OSWBqvkSY7vusOPrNuZcUG3tApvdVgNB8POj3SPw==", + "dev": true, + "engines": { + "node": ">=10" + } + }, "node_modules/js-tokens": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", @@ -6319,18 +5032,6 @@ "js-yaml": "bin/js-yaml.js" } }, - "node_modules/jsesc": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", - "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", - "dev": true, - "bin": { - "jsesc": "bin/jsesc" - }, - "engines": { - "node": ">=4" - } - }, "node_modules/json-parse-better-errors": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", @@ -6361,18 +5062,6 @@ "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==", "dev": true }, - "node_modules/json5": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", - "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", - "dev": true, - "bin": { - "json5": "lib/cli.js" - }, - "engines": { - "node": ">=6" - } - }, "node_modules/jsonfile": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", @@ -6388,7 +5077,7 @@ "node_modules/jsonparse": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz", - "integrity": "sha1-P02uSpH6wxX3EGL4UhzCOfE2YoA=", + "integrity": "sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==", "dev": true, "engines": [ "node >= 0.2.0" @@ -6432,6 +5121,15 @@ "node": ">= 0.8.0" } }, + "node_modules/lilconfig": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz", + "integrity": "sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==", + "dev": true, + "engines": { + "node": ">=10" + } + }, "node_modules/lines-and-columns": { "version": "1.1.6", "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.1.6.tgz", @@ -6475,6 +5173,15 @@ "node": ">=4" } }, + "node_modules/load-tsconfig": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/load-tsconfig/-/load-tsconfig-0.2.5.tgz", + "integrity": "sha512-IXO6OCs9yg8tMKzfPZ1YmheJbZCiEsnBdcB03l0OcfK9prKnJb96siuHCr5Fl37/yo9DnKU+TLpxzTUspw9shg==", + "dev": true, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + } + }, "node_modules/locate-path": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", @@ -6506,12 +5213,6 @@ "integrity": "sha1-+CbJtOKoUR2E46yinbBeGk87cqk=", "dev": true }, - "node_modules/lodash.debounce": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", - "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==", - "dev": true - }, "node_modules/lodash.escaperegexp": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/lodash.escaperegexp/-/lodash.escaperegexp-4.1.2.tgz", @@ -6521,7 +5222,7 @@ "node_modules/lodash.ismatch": { "version": "4.4.0", "resolved": "https://registry.npmjs.org/lodash.ismatch/-/lodash.ismatch-4.4.0.tgz", - "integrity": "sha1-dWy1FQyjum8RCFp4hJZF8Yj4Xzc=", + "integrity": "sha512-fPMfXjGQEV9Xsq/8MTSgUf255gawYRbjwMyDbcvDhXgV7enSZA0hynz6vMPnpAb5iONEzBHBPsT+0zes5Z301g==", "dev": true }, "node_modules/lodash.isplainobject": { @@ -6542,6 +5243,12 @@ "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", "dev": true }, + "node_modules/lodash.sortby": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz", + "integrity": "sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==", + "dev": true + }, "node_modules/lodash.uniqby": { "version": "4.7.0", "resolved": "https://registry.npmjs.org/lodash.uniqby/-/lodash.uniqby-4.7.0.tgz", @@ -6560,6 +5267,12 @@ "node": ">=10" } }, + "node_modules/make-error": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", + "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", + "dev": true + }, "node_modules/map-obj": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-4.3.0.tgz", @@ -6811,12 +5524,29 @@ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", "dev": true }, + "node_modules/mz": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz", + "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==", + "dev": true, + "dependencies": { + "any-promise": "^1.0.0", + "object-assign": "^4.0.1", + "thenify-all": "^1.0.0" + } + }, "node_modules/natural-compare": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", "dev": true }, + "node_modules/natural-compare-lite": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz", + "integrity": "sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==", + "dev": true + }, "node_modules/neo-async": { "version": "2.6.2", "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", @@ -6875,12 +5605,6 @@ "url": "https://opencollective.com/node-fetch" } }, - "node_modules/node-releases": { - "version": "2.0.13", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.13.tgz", - "integrity": "sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ==", - "dev": true - }, "node_modules/normalize-package-data": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-3.0.3.tgz", @@ -6911,6 +5635,15 @@ "node": ">=10" } }, + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/normalize-url": { "version": "8.0.0", "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-8.0.0.tgz", @@ -9920,6 +8653,15 @@ "url": "https://github.com/fb55/nth-check?sponsor=1" } }, + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/object-inspect": { "version": "1.12.3", "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz", @@ -10314,12 +9056,6 @@ "node": ">=8" } }, - "node_modules/picocolors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", - "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", - "dev": true - }, "node_modules/picomatch": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", @@ -10341,6 +9077,15 @@ "node": ">=4" } }, + "node_modules/pirates": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.5.tgz", + "integrity": "sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, "node_modules/pkg-conf": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/pkg-conf/-/pkg-conf-2.1.0.tgz", @@ -10354,6 +9099,35 @@ "node": ">=4" } }, + "node_modules/postcss-load-config": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-3.1.4.tgz", + "integrity": "sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg==", + "dev": true, + "dependencies": { + "lilconfig": "^2.0.5", + "yaml": "^1.10.2" + }, + "engines": { + "node": ">= 10" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + "peerDependencies": { + "postcss": ">=8.0.9", + "ts-node": ">=9.0.0" + }, + "peerDependenciesMeta": { + "postcss": { + "optional": true + }, + "ts-node": { + "optional": true + } + } + }, "node_modules/prelude-ls": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", @@ -10633,6 +9407,18 @@ "util-deprecate": "~1.0.1" } }, + "node_modules/readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dev": true, + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, "node_modules/recheck": { "version": "4.4.5", "resolved": "https://registry.npmjs.org/recheck/-/recheck-4.4.5.tgz", @@ -10655,45 +9441,6 @@ "dev": true, "optional": true }, - "node_modules/recheck-linux-x64": { - "version": "4.4.5", - "resolved": "https://registry.npmjs.org/recheck-linux-x64/-/recheck-linux-x64-4.4.5.tgz", - "integrity": "sha512-s8OVPCpiSGw+tLCxH3eei7Zp2AoL22kXqLmEtWXi0AnYNwfuTjZmeLn2aQjW8qhs8ZPSkxS7uRIRTeZqR5Fv/Q==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/recheck-macos-x64": { - "version": "4.4.5", - "resolved": "https://registry.npmjs.org/recheck-macos-x64/-/recheck-macos-x64-4.4.5.tgz", - "integrity": "sha512-Ouup9JwwoKCDclt3Na8+/W2pVbt8FRpzjkDuyM32qTR2TOid1NI+P1GA6/VQAKEOjvaxgGjxhcP/WqAjN+EULA==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "darwin" - ] - }, - "node_modules/recheck-windows-x64": { - "version": "4.4.5", - "resolved": "https://registry.npmjs.org/recheck-windows-x64/-/recheck-windows-x64-4.4.5.tgz", - "integrity": "sha512-mkpzLHu9G9Ztjx8HssJh9k/Xm1d1d/4OoT7etHqFk+k1NGzISCRXBD22DqYF9w8+J4QEzTAoDf8icFt0IGhOEQ==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "win32" - ] - }, "node_modules/redent": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/redent/-/redent-3.0.0.tgz", @@ -10716,39 +9463,6 @@ "esprima": "~4.0.0" } }, - "node_modules/regenerate": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", - "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==", - "dev": true - }, - "node_modules/regenerate-unicode-properties": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.0.tgz", - "integrity": "sha512-d1VudCLoIGitcU/hEg2QqvyGZQmdC0Lf8BqdOMXGFSvJP4bNV1+XqbPQeHHLD51Jh4QJJ225dlIFvY4Ly6MXmQ==", - "dev": true, - "dependencies": { - "regenerate": "^1.4.2" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/regenerator-runtime": { - "version": "0.13.11", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz", - "integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==", - "dev": true - }, - "node_modules/regenerator-transform": { - "version": "0.15.1", - "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.1.tgz", - "integrity": "sha512-knzmNAcuyxV+gQCufkYcvOqX/qIIfHLv0u5x79kRxuGojfYVky1f15TzZEu2Avte8QGepvUNTnLskf8E6X6Vyg==", - "dev": true, - "dependencies": { - "@babel/runtime": "^7.8.4" - } - }, "node_modules/regexp.prototype.flags": { "version": "1.4.3", "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.4.3.tgz", @@ -10766,23 +9480,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/regexpu-core": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.3.2.tgz", - "integrity": "sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ==", - "dev": true, - "dependencies": { - "@babel/regjsgen": "^0.8.0", - "regenerate": "^1.4.2", - "regenerate-unicode-properties": "^10.1.0", - "regjsparser": "^0.9.1", - "unicode-match-property-ecmascript": "^2.0.0", - "unicode-match-property-value-ecmascript": "^2.1.0" - }, - "engines": { - "node": ">=4" - } - }, "node_modules/registry-auth-token": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-5.0.1.tgz", @@ -10795,27 +9492,6 @@ "node": ">=14" } }, - "node_modules/regjsparser": { - "version": "0.9.1", - "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.9.1.tgz", - "integrity": "sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==", - "dev": true, - "dependencies": { - "jsesc": "~0.5.0" - }, - "bin": { - "regjsparser": "bin/parser" - } - }, - "node_modules/regjsparser/node_modules/jsesc": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", - "integrity": "sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==", - "dev": true, - "bin": { - "jsesc": "bin/jsesc" - } - }, "node_modules/require-directory": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", @@ -11532,12 +10208,41 @@ } }, "node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "version": "0.8.0-beta.0", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.8.0-beta.0.tgz", + "integrity": "sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA==", "dev": true, + "dependencies": { + "whatwg-url": "^7.0.0" + }, "engines": { - "node": ">=0.10.0" + "node": ">= 8" + } + }, + "node_modules/source-map/node_modules/tr46": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-1.0.1.tgz", + "integrity": "sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA==", + "dev": true, + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/source-map/node_modules/webidl-conversions": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz", + "integrity": "sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==", + "dev": true + }, + "node_modules/source-map/node_modules/whatwg-url": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-7.1.0.tgz", + "integrity": "sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==", + "dev": true, + "dependencies": { + "lodash.sortby": "^4.7.0", + "tr46": "^1.0.1", + "webidl-conversions": "^4.0.2" } }, "node_modules/spawn-error-forwarder": { @@ -11600,9 +10305,9 @@ } }, "node_modules/split2/node_modules/readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", "dev": true, "dependencies": { "inherits": "^2.0.3", @@ -11768,6 +10473,48 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/sucrase": { + "version": "3.32.0", + "resolved": "https://registry.npmjs.org/sucrase/-/sucrase-3.32.0.tgz", + "integrity": "sha512-ydQOU34rpSyj2TGyz4D2p8rbktIOZ8QY9s+DGLvFU1i5pWJE8vkpruCjGCMHsdXwnD7JDcS+noSwM/a7zyNFDQ==", + "dev": true, + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.2", + "commander": "^4.0.0", + "glob": "7.1.6", + "lines-and-columns": "^1.1.6", + "mz": "^2.7.0", + "pirates": "^4.0.1", + "ts-interface-checker": "^0.1.9" + }, + "bin": { + "sucrase": "bin/sucrase", + "sucrase-node": "bin/sucrase-node" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/sucrase/node_modules/glob": { + "version": "7.1.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", + "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, "node_modules/supports-color": { "version": "5.5.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", @@ -11943,10 +10690,31 @@ "integrity": "sha512-tktOkFUA4kXx2hhhrB8bIFb5TbwzS4uOhKEmwiD+NoiL0qtP2OQ9mFldbgD4dV1djrlBYP6eBuQZiWjuHUpqFw==", "dev": true }, + "node_modules/thenify": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz", + "integrity": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==", + "dev": true, + "dependencies": { + "any-promise": "^1.0.0" + } + }, + "node_modules/thenify-all": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz", + "integrity": "sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==", + "dev": true, + "dependencies": { + "thenify": ">= 3.1.0 < 4" + }, + "engines": { + "node": ">=0.8" + } + }, "node_modules/through": { "version": "2.3.8", "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", - "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", + "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==", "dev": true }, "node_modules/titleize": { @@ -11961,15 +10729,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/to-fast-properties": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", - "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", - "dev": true, - "engines": { - "node": ">=4" - } - }, "node_modules/to-regex-range": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", @@ -11988,6 +10747,15 @@ "integrity": "sha1-y99WD9e5r2MlAv7UD5GMFX6pcTc=", "dev": true }, + "node_modules/tree-kill": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/tree-kill/-/tree-kill-1.2.2.tgz", + "integrity": "sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==", + "dev": true, + "bin": { + "tree-kill": "cli.js" + } + }, "node_modules/trim-newlines": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-3.0.1.tgz", @@ -11997,6 +10765,70 @@ "node": ">=8" } }, + "node_modules/ts-expect": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/ts-expect/-/ts-expect-1.3.0.tgz", + "integrity": "sha512-e4g0EJtAjk64xgnFPD6kTBUtpnMVzDrMb12N1YZV0VvSlhnVT3SGxiYTLdGy8Q5cYHOIC/FAHmZ10eGrAguicQ==", + "dev": true + }, + "node_modules/ts-interface-checker": { + "version": "0.1.13", + "resolved": "https://registry.npmjs.org/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz", + "integrity": "sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==", + "dev": true + }, + "node_modules/ts-node": { + "version": "10.9.1", + "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.1.tgz", + "integrity": "sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==", + "dev": true, + "dependencies": { + "@cspotcode/source-map-support": "^0.8.0", + "@tsconfig/node10": "^1.0.7", + "@tsconfig/node12": "^1.0.7", + "@tsconfig/node14": "^1.0.0", + "@tsconfig/node16": "^1.0.2", + "acorn": "^8.4.1", + "acorn-walk": "^8.1.1", + "arg": "^4.1.0", + "create-require": "^1.1.0", + "diff": "^4.0.1", + "make-error": "^1.1.1", + "v8-compile-cache-lib": "^3.0.1", + "yn": "3.1.1" + }, + "bin": { + "ts-node": "dist/bin.js", + "ts-node-cwd": "dist/bin-cwd.js", + "ts-node-esm": "dist/bin-esm.js", + "ts-node-script": "dist/bin-script.js", + "ts-node-transpile-only": "dist/bin-transpile.js", + "ts-script": "dist/bin-script-deprecated.js" + }, + "peerDependencies": { + "@swc/core": ">=1.2.50", + "@swc/wasm": ">=1.2.50", + "@types/node": "*", + "typescript": ">=2.7" + }, + "peerDependenciesMeta": { + "@swc/core": { + "optional": true + }, + "@swc/wasm": { + "optional": true + } + } + }, + "node_modules/ts-node/node_modules/diff": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", + "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", + "dev": true, + "engines": { + "node": ">=0.3.1" + } + }, "node_modules/tsconfig-paths": { "version": "3.14.1", "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.14.1.tgz", @@ -12021,6 +10853,110 @@ "json5": "lib/cli.js" } }, + "node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true + }, + "node_modules/tsup": { + "version": "6.7.0", + "resolved": "https://registry.npmjs.org/tsup/-/tsup-6.7.0.tgz", + "integrity": "sha512-L3o8hGkaHnu5TdJns+mCqFsDBo83bJ44rlK7e6VdanIvpea4ArPcU3swWGsLVbXak1PqQx/V+SSmFPujBK+zEQ==", + "dev": true, + "dependencies": { + "bundle-require": "^4.0.0", + "cac": "^6.7.12", + "chokidar": "^3.5.1", + "debug": "^4.3.1", + "esbuild": "^0.17.6", + "execa": "^5.0.0", + "globby": "^11.0.3", + "joycon": "^3.0.1", + "postcss-load-config": "^3.0.1", + "resolve-from": "^5.0.0", + "rollup": "^3.2.5", + "source-map": "0.8.0-beta.0", + "sucrase": "^3.20.3", + "tree-kill": "^1.2.2" + }, + "bin": { + "tsup": "dist/cli-default.js", + "tsup-node": "dist/cli-node.js" + }, + "engines": { + "node": ">=14.18" + }, + "peerDependencies": { + "@swc/core": "^1", + "postcss": "^8.4.12", + "typescript": ">=4.1.0" + }, + "peerDependenciesMeta": { + "@swc/core": { + "optional": true + }, + "postcss": { + "optional": true + }, + "typescript": { + "optional": true + } + } + }, + "node_modules/tsup/node_modules/globby": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", + "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", + "dev": true, + "dependencies": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.2.9", + "ignore": "^5.2.0", + "merge2": "^1.4.1", + "slash": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/tsup/node_modules/resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/tsup/node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/tsutils": { + "version": "3.21.0", + "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz", + "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==", + "dev": true, + "dependencies": { + "tslib": "^1.8.1" + }, + "engines": { + "node": ">= 6" + }, + "peerDependencies": { + "typescript": ">=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta" + } + }, "node_modules/type-check": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", @@ -12065,6 +11001,19 @@ "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=", "dev": true }, + "node_modules/typescript": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.0.4.tgz", + "integrity": "sha512-cW9T5W9xY37cc+jfEnaUvX91foxtHkza3Nw3wkoF4sSlKn0MONdkdEndig/qPBWXNkmplh3NzayQzCiHM4/hqw==", + "dev": true, + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=12.20" + } + }, "node_modules/uc.micro": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/uc.micro/-/uc.micro-1.0.6.tgz", @@ -12098,46 +11047,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/unicode-canonical-property-names-ecmascript": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz", - "integrity": "sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/unicode-match-property-ecmascript": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz", - "integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==", - "dev": true, - "dependencies": { - "unicode-canonical-property-names-ecmascript": "^2.0.0", - "unicode-property-aliases-ecmascript": "^2.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/unicode-match-property-value-ecmascript": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.1.0.tgz", - "integrity": "sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/unicode-property-aliases-ecmascript": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz", - "integrity": "sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==", - "dev": true, - "engines": { - "node": ">=4" - } - }, "node_modules/unique-string": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-3.0.0.tgz", @@ -12168,36 +11077,6 @@ "node": ">= 10.0.0" } }, - "node_modules/update-browserslist-db": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.11.tgz", - "integrity": "sha512-dCwEFf0/oT85M1fHBg4F0jtLwJrutGoHSQXCh7u4o2t1drG+c0a9Flnqww6XUKSfQMPpJBRjU8d4RXB09qtvaA==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "dependencies": { - "escalade": "^3.1.1", - "picocolors": "^1.0.0" - }, - "bin": { - "update-browserslist-db": "cli.js" - }, - "peerDependencies": { - "browserslist": ">= 4.21.0" - } - }, "node_modules/uri-js": { "version": "4.4.1", "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", @@ -12222,6 +11101,12 @@ "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", "dev": true }, + "node_modules/v8-compile-cache-lib": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz", + "integrity": "sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==", + "dev": true + }, "node_modules/validate-npm-package-license": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", @@ -12438,6 +11323,15 @@ "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", "dev": true }, + "node_modules/yaml": { + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", + "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, "node_modules/yargs": { "version": "17.6.2", "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.6.2.tgz", @@ -12474,6 +11368,15 @@ "node": ">=12" } }, + "node_modules/yn": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", + "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==", + "dev": true, + "engines": { + "node": ">=6" + } + }, "node_modules/yocto-queue": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", @@ -12494,1189 +11397,32 @@ "integrity": "sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==", "dev": true }, - "@ampproject/remapping": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz", - "integrity": "sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==", - "dev": true, - "requires": { - "@jridgewell/gen-mapping": "^0.1.0", - "@jridgewell/trace-mapping": "^0.3.9" - }, - "dependencies": { - "@jridgewell/gen-mapping": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz", - "integrity": "sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==", - "dev": true, - "requires": { - "@jridgewell/set-array": "^1.0.0", - "@jridgewell/sourcemap-codec": "^1.4.10" - } - } - } - }, "@babel/code-frame": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.22.5.tgz", - "integrity": "sha512-Xmwn266vad+6DAqEB2A6V/CcZVp62BbwVmcOJc2RPuwih1kw02TjQvWVWlcKGbBPd+8/0V5DEkOcizRGYsspYQ==", + "version": "7.21.4", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.21.4.tgz", + "integrity": "sha512-LYvhNKfwWSPpocw8GI7gpK2nq3HSDuEPC/uSYaALSJu9xjsalaaYFOq0Pwt5KmVqwEbZlDu81aLXwBOmD/Fv9g==", "dev": true, "requires": { - "@babel/highlight": "^7.22.5" + "@babel/highlight": "^7.18.6" } }, - "@babel/compat-data": { - "version": "7.22.9", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.22.9.tgz", - "integrity": "sha512-5UamI7xkUcJ3i9qVDS+KFDEK8/7oJ55/sJMB1Ge7IEapr7KfdfV/HErR+koZwOfd+SgtFKOKRhRakdg++DcJpQ==", - "dev": true - }, - "@babel/core": { - "version": "7.22.9", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.22.9.tgz", - "integrity": "sha512-G2EgeufBcYw27U4hhoIwFcgc1XU7TlXJ3mv04oOv1WCuo900U/anZSPzEqNjwdjgffkk2Gs0AN0dW1CKVLcG7w==", - "dev": true, - "requires": { - "@ampproject/remapping": "^2.2.0", - "@babel/code-frame": "^7.22.5", - "@babel/generator": "^7.22.9", - "@babel/helper-compilation-targets": "^7.22.9", - "@babel/helper-module-transforms": "^7.22.9", - "@babel/helpers": "^7.22.6", - "@babel/parser": "^7.22.7", - "@babel/template": "^7.22.5", - "@babel/traverse": "^7.22.8", - "@babel/types": "^7.22.5", - "convert-source-map": "^1.7.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.2", - "json5": "^2.2.2", - "semver": "^6.3.1" - } - }, - "@babel/generator": { - "version": "7.22.9", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.22.9.tgz", - "integrity": "sha512-KtLMbmicyuK2Ak/FTCJVbDnkN1SlT8/kceFTiuDiiRUUSMnHMidxSCdG4ndkTOHHpoomWe/4xkvHkEOncwjYIw==", - "dev": true, - "requires": { - "@babel/types": "^7.22.5", - "@jridgewell/gen-mapping": "^0.3.2", - "@jridgewell/trace-mapping": "^0.3.17", - "jsesc": "^2.5.1" - } - }, - "@babel/helper-annotate-as-pure": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.22.5.tgz", - "integrity": "sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==", - "dev": true, - "requires": { - "@babel/types": "^7.22.5" - } - }, - "@babel/helper-builder-binary-assignment-operator-visitor": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.22.5.tgz", - "integrity": "sha512-m1EP3lVOPptR+2DwD125gziZNcmoNSHGmJROKoy87loWUQyJaVXDgpmruWqDARZSmtYQ+Dl25okU8+qhVzuykw==", - "dev": true, - "requires": { - "@babel/types": "^7.22.5" - } - }, - "@babel/helper-compilation-targets": { - "version": "7.22.9", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.22.9.tgz", - "integrity": "sha512-7qYrNM6HjpnPHJbopxmb8hSPoZ0gsX8IvUS32JGVoy+pU9e5N0nLr1VjJoR6kA4d9dmGLxNYOjeB8sUDal2WMw==", - "dev": true, - "requires": { - "@babel/compat-data": "^7.22.9", - "@babel/helper-validator-option": "^7.22.5", - "browserslist": "^4.21.9", - "lru-cache": "^5.1.1", - "semver": "^6.3.1" - }, - "dependencies": { - "lru-cache": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", - "dev": true, - "requires": { - "yallist": "^3.0.2" - } - }, - "yallist": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", - "dev": true - } - } - }, - "@babel/helper-create-class-features-plugin": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.22.5.tgz", - "integrity": "sha512-xkb58MyOYIslxu3gKmVXmjTtUPvBU4odYzbiIQbWwLKIHCsx6UGZGX6F1IznMFVnDdirseUZopzN+ZRt8Xb33Q==", - "dev": true, - "requires": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-environment-visitor": "^7.22.5", - "@babel/helper-function-name": "^7.22.5", - "@babel/helper-member-expression-to-functions": "^7.22.5", - "@babel/helper-optimise-call-expression": "^7.22.5", - "@babel/helper-replace-supers": "^7.22.5", - "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", - "@babel/helper-split-export-declaration": "^7.22.5", - "semver": "^6.3.0" - } - }, - "@babel/helper-create-regexp-features-plugin": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.22.5.tgz", - "integrity": "sha512-1VpEFOIbMRaXyDeUwUfmTIxExLwQ+zkW+Bh5zXpApA3oQedBx9v/updixWxnx/bZpKw7u8VxWjb/qWpIcmPq8A==", - "dev": true, - "requires": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "regexpu-core": "^5.3.1", - "semver": "^6.3.0" - } - }, - "@babel/helper-define-polyfill-provider": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.4.1.tgz", - "integrity": "sha512-kX4oXixDxG197yhX+J3Wp+NpL2wuCFjWQAr6yX2jtCnflK9ulMI51ULFGIrWiX1jGfvAxdHp+XQCcP2bZGPs9A==", - "dev": true, - "requires": { - "@babel/helper-compilation-targets": "^7.22.6", - "@babel/helper-plugin-utils": "^7.22.5", - "debug": "^4.1.1", - "lodash.debounce": "^4.0.8", - "resolve": "^1.14.2" - } - }, - "@babel/helper-environment-visitor": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.5.tgz", - "integrity": "sha512-XGmhECfVA/5sAt+H+xpSg0mfrHq6FzNr9Oxh7PSEBBRUb/mL7Kz3NICXb194rCqAEdxkhPT1a88teizAFyvk8Q==", - "dev": true - }, - "@babel/helper-function-name": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.22.5.tgz", - "integrity": "sha512-wtHSq6jMRE3uF2otvfuD3DIvVhOsSNshQl0Qrd7qC9oQJzHvOL4qQXlQn2916+CXGywIjpGuIkoyZRRxHPiNQQ==", - "dev": true, - "requires": { - "@babel/template": "^7.22.5", - "@babel/types": "^7.22.5" - } - }, - "@babel/helper-hoist-variables": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz", - "integrity": "sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==", - "dev": true, - "requires": { - "@babel/types": "^7.22.5" - } - }, - "@babel/helper-member-expression-to-functions": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.22.5.tgz", - "integrity": "sha512-aBiH1NKMG0H2cGZqspNvsaBe6wNGjbJjuLy29aU+eDZjSbbN53BaxlpB02xm9v34pLTZ1nIQPFYn2qMZoa5BQQ==", - "dev": true, - "requires": { - "@babel/types": "^7.22.5" - } - }, - "@babel/helper-module-imports": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.22.5.tgz", - "integrity": "sha512-8Dl6+HD/cKifutF5qGd/8ZJi84QeAKh+CEe1sBzz8UayBBGg1dAIJrdHOcOM5b2MpzWL2yuotJTtGjETq0qjXg==", - "dev": true, - "requires": { - "@babel/types": "^7.22.5" - } - }, - "@babel/helper-module-transforms": { - "version": "7.22.9", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.22.9.tgz", - "integrity": "sha512-t+WA2Xn5K+rTeGtC8jCsdAH52bjggG5TKRuRrAGNM/mjIbO4GxvlLMFOEz9wXY5I2XQ60PMFsAG2WIcG82dQMQ==", - "dev": true, - "requires": { - "@babel/helper-environment-visitor": "^7.22.5", - "@babel/helper-module-imports": "^7.22.5", - "@babel/helper-simple-access": "^7.22.5", - "@babel/helper-split-export-declaration": "^7.22.6", - "@babel/helper-validator-identifier": "^7.22.5" - } - }, - "@babel/helper-optimise-call-expression": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.22.5.tgz", - "integrity": "sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw==", - "dev": true, - "requires": { - "@babel/types": "^7.22.5" - } - }, - "@babel/helper-plugin-utils": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.22.5.tgz", - "integrity": "sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg==", - "dev": true - }, - "@babel/helper-remap-async-to-generator": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.22.5.tgz", - "integrity": "sha512-cU0Sq1Rf4Z55fgz7haOakIyM7+x/uCFwXpLPaeRzfoUtAEAuUZjZvFPjL/rk5rW693dIgn2hng1W7xbT7lWT4g==", - "dev": true, - "requires": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-environment-visitor": "^7.22.5", - "@babel/helper-wrap-function": "^7.22.5", - "@babel/types": "^7.22.5" - } - }, - "@babel/helper-replace-supers": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.22.5.tgz", - "integrity": "sha512-aLdNM5I3kdI/V9xGNyKSF3X/gTyMUBohTZ+/3QdQKAA9vxIiy12E+8E2HoOP1/DjeqU+g6as35QHJNMDDYpuCg==", - "dev": true, - "requires": { - "@babel/helper-environment-visitor": "^7.22.5", - "@babel/helper-member-expression-to-functions": "^7.22.5", - "@babel/helper-optimise-call-expression": "^7.22.5", - "@babel/template": "^7.22.5", - "@babel/traverse": "^7.22.5", - "@babel/types": "^7.22.5" - } - }, - "@babel/helper-simple-access": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz", - "integrity": "sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==", - "dev": true, - "requires": { - "@babel/types": "^7.22.5" - } - }, - "@babel/helper-skip-transparent-expression-wrappers": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.22.5.tgz", - "integrity": "sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q==", - "dev": true, - "requires": { - "@babel/types": "^7.22.5" - } - }, - "@babel/helper-split-export-declaration": { - "version": "7.22.6", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz", - "integrity": "sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==", - "dev": true, - "requires": { - "@babel/types": "^7.22.5" - } - }, - "@babel/helper-string-parser": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.22.5.tgz", - "integrity": "sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==", - "dev": true - }, "@babel/helper-validator-identifier": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.5.tgz", - "integrity": "sha512-aJXu+6lErq8ltp+JhkJUfk1MTGyuA4v7f3pA+BJ5HLfNC6nAQ0Cpi9uOquUj8Hehg0aUiHzWQbOVJGao6ztBAQ==", + "version": "7.19.1", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz", + "integrity": "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==", "dev": true }, - "@babel/helper-validator-option": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.22.5.tgz", - "integrity": "sha512-R3oB6xlIVKUnxNUxbmgq7pKjxpru24zlimpE8WK47fACIlM0II/Hm1RS8IaOI7NgCr6LNS+jl5l75m20npAziw==", - "dev": true - }, - "@babel/helper-wrap-function": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.22.5.tgz", - "integrity": "sha512-bYqLIBSEshYcYQyfks8ewYA8S30yaGSeRslcvKMvoUk6HHPySbxHq9YRi6ghhzEU+yhQv9bP/jXnygkStOcqZw==", - "dev": true, - "requires": { - "@babel/helper-function-name": "^7.22.5", - "@babel/template": "^7.22.5", - "@babel/traverse": "^7.22.5", - "@babel/types": "^7.22.5" - } - }, - "@babel/helpers": { - "version": "7.22.6", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.22.6.tgz", - "integrity": "sha512-YjDs6y/fVOYFV8hAf1rxd1QvR9wJe1pDBZ2AREKq/SDayfPzgk0PBnVuTCE5X1acEpMMNOVUqoe+OwiZGJ+OaA==", - "dev": true, - "requires": { - "@babel/template": "^7.22.5", - "@babel/traverse": "^7.22.6", - "@babel/types": "^7.22.5" - } - }, "@babel/highlight": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.5.tgz", - "integrity": "sha512-BSKlD1hgnedS5XRnGOljZawtag7H1yPfQp0tdNJCHoH6AZ+Pcm9VvkrK59/Yy593Ypg0zMxH2BxD1VPYUQ7UIw==", + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz", + "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==", "dev": true, "requires": { - "@babel/helper-validator-identifier": "^7.22.5", + "@babel/helper-validator-identifier": "^7.18.6", "chalk": "^2.0.0", "js-tokens": "^4.0.0" } }, - "@babel/parser": { - "version": "7.22.7", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.22.7.tgz", - "integrity": "sha512-7NF8pOkHP5o2vpmGgNGcfAeCvOYhGLyA3Z4eBQkT1RJlWu47n63bCs93QfJ2hIAFCil7L5P2IWhs1oToVgrL0Q==", - "dev": true - }, - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.22.5.tgz", - "integrity": "sha512-NP1M5Rf+u2Gw9qfSO4ihjcTGW5zXTi36ITLd4/EoAcEhIZ0yjMqmftDNl3QC19CX7olhrjpyU454g/2W7X0jvQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.22.5.tgz", - "integrity": "sha512-31Bb65aZaUwqCbWMnZPduIZxCBngHFlzyN6Dq6KAJjtx+lx6ohKHubc61OomYi7XwVD4Ol0XCVz4h+pYFR048g==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", - "@babel/plugin-transform-optional-chaining": "^7.22.5" - } - }, - "@babel/plugin-proposal-private-property-in-object": { - "version": "7.21.0-placeholder-for-preset-env.2", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz", - "integrity": "sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==", - "dev": true, - "requires": {} - }, - "@babel/plugin-proposal-unicode-property-regex": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.18.6.tgz", - "integrity": "sha512-2BShG/d5yoZyXZfVePH91urL5wTG6ASZU9M4o03lKK8u8UW1y08OMttBSOADTcJrnPMpvDXRG3G8fyLh4ovs8w==", - "dev": true, - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-syntax-async-generators": { - "version": "7.8.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", - "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-class-properties": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", - "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.12.13" - } - }, - "@babel/plugin-syntax-class-static-block": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz", - "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@babel/plugin-syntax-dynamic-import": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", - "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-export-namespace-from": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz", - "integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.3" - } - }, - "@babel/plugin-syntax-import-assertions": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.22.5.tgz", - "integrity": "sha512-rdV97N7KqsRzeNGoWUOK6yUsWarLjE5Su/Snk9IYPU9CwkWHs4t+rTGOvffTR8XGkJMTAdLfO0xVnXm8wugIJg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-syntax-import-attributes": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.22.5.tgz", - "integrity": "sha512-KwvoWDeNKPETmozyFE0P2rOLqh39EoQHNjqizrI5B8Vt0ZNS7M56s7dAiAqbYfiAYOuIzIh96z3iR2ktgu3tEg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-syntax-import-meta": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", - "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-syntax-json-strings": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", - "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-logical-assignment-operators": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", - "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-syntax-nullish-coalescing-operator": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", - "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-numeric-separator": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", - "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/plugin-syntax-object-rest-spread": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", - "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-optional-catch-binding": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", - "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-optional-chaining": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", - "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" - } - }, - "@babel/plugin-syntax-private-property-in-object": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz", - "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@babel/plugin-syntax-top-level-await": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", - "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@babel/plugin-syntax-unicode-sets-regex": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-unicode-sets-regex/-/plugin-syntax-unicode-sets-regex-7.18.6.tgz", - "integrity": "sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==", - "dev": true, - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-transform-arrow-functions": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.22.5.tgz", - "integrity": "sha512-26lTNXoVRdAnsaDXPpvCNUq+OVWEVC6bx7Vvz9rC53F2bagUWW4u4ii2+h8Fejfh7RYqPxn+libeFBBck9muEw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-async-generator-functions": { - "version": "7.22.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.22.7.tgz", - "integrity": "sha512-7HmE7pk/Fmke45TODvxvkxRMV9RazV+ZZzhOL9AG8G29TLrr3jkjwF7uJfxZ30EoXpO+LJkq4oA8NjO2DTnEDg==", - "dev": true, - "requires": { - "@babel/helper-environment-visitor": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-remap-async-to-generator": "^7.22.5", - "@babel/plugin-syntax-async-generators": "^7.8.4" - } - }, - "@babel/plugin-transform-async-to-generator": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.22.5.tgz", - "integrity": "sha512-b1A8D8ZzE/VhNDoV1MSJTnpKkCG5bJo+19R4o4oy03zM7ws8yEMK755j61Dc3EyvdysbqH5BOOTquJ7ZX9C6vQ==", - "dev": true, - "requires": { - "@babel/helper-module-imports": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-remap-async-to-generator": "^7.22.5" - } - }, - "@babel/plugin-transform-block-scoped-functions": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.22.5.tgz", - "integrity": "sha512-tdXZ2UdknEKQWKJP1KMNmuF5Lx3MymtMN/pvA+p/VEkhK8jVcQ1fzSy8KM9qRYhAf2/lV33hoMPKI/xaI9sADA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-block-scoping": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.22.5.tgz", - "integrity": "sha512-EcACl1i5fSQ6bt+YGuU/XGCeZKStLmyVGytWkpyhCLeQVA0eu6Wtiw92V+I1T/hnezUv7j74dA/Ro69gWcU+hg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-class-properties": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.22.5.tgz", - "integrity": "sha512-nDkQ0NfkOhPTq8YCLiWNxp1+f9fCobEjCb0n8WdbNUBc4IB5V7P1QnX9IjpSoquKrXF5SKojHleVNs2vGeHCHQ==", - "dev": true, - "requires": { - "@babel/helper-create-class-features-plugin": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-class-static-block": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.22.5.tgz", - "integrity": "sha512-SPToJ5eYZLxlnp1UzdARpOGeC2GbHvr9d/UV0EukuVx8atktg194oe+C5BqQ8jRTkgLRVOPYeXRSBg1IlMoVRA==", - "dev": true, - "requires": { - "@babel/helper-create-class-features-plugin": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-class-static-block": "^7.14.5" - } - }, - "@babel/plugin-transform-classes": { - "version": "7.22.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.22.6.tgz", - "integrity": "sha512-58EgM6nuPNG6Py4Z3zSuu0xWu2VfodiMi72Jt5Kj2FECmaYk1RrTXA45z6KBFsu9tRgwQDwIiY4FXTt+YsSFAQ==", - "dev": true, - "requires": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-compilation-targets": "^7.22.6", - "@babel/helper-environment-visitor": "^7.22.5", - "@babel/helper-function-name": "^7.22.5", - "@babel/helper-optimise-call-expression": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-replace-supers": "^7.22.5", - "@babel/helper-split-export-declaration": "^7.22.6", - "globals": "^11.1.0" - } - }, - "@babel/plugin-transform-computed-properties": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.22.5.tgz", - "integrity": "sha512-4GHWBgRf0krxPX+AaPtgBAlTgTeZmqDynokHOX7aqqAB4tHs3U2Y02zH6ETFdLZGcg9UQSD1WCmkVrE9ErHeOg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/template": "^7.22.5" - } - }, - "@babel/plugin-transform-destructuring": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.22.5.tgz", - "integrity": "sha512-GfqcFuGW8vnEqTUBM7UtPd5A4q797LTvvwKxXTgRsFjoqaJiEg9deBG6kWeQYkVEL569NpnmpC0Pkr/8BLKGnQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-dotall-regex": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.22.5.tgz", - "integrity": "sha512-5/Yk9QxCQCl+sOIB1WelKnVRxTJDSAIxtJLL2/pqL14ZVlbH0fUQUZa/T5/UnQtBNgghR7mfB8ERBKyKPCi7Vw==", - "dev": true, - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-duplicate-keys": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.22.5.tgz", - "integrity": "sha512-dEnYD+9BBgld5VBXHnF/DbYGp3fqGMsyxKbtD1mDyIA7AkTSpKXFhCVuj/oQVOoALfBs77DudA0BE4d5mcpmqw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-dynamic-import": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.22.5.tgz", - "integrity": "sha512-0MC3ppTB1AMxd8fXjSrbPa7LT9hrImt+/fcj+Pg5YMD7UQyWp/02+JWpdnCymmsXwIx5Z+sYn1bwCn4ZJNvhqQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-dynamic-import": "^7.8.3" - } - }, - "@babel/plugin-transform-exponentiation-operator": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.22.5.tgz", - "integrity": "sha512-vIpJFNM/FjZ4rh1myqIya9jXwrwwgFRHPjT3DkUA9ZLHuzox8jiXkOLvwm1H+PQIP3CqfC++WPKeuDi0Sjdj1g==", - "dev": true, - "requires": { - "@babel/helper-builder-binary-assignment-operator-visitor": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-export-namespace-from": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.22.5.tgz", - "integrity": "sha512-X4hhm7FRnPgd4nDA4b/5V280xCx6oL7Oob5+9qVS5C13Zq4bh1qq7LU0GgRU6b5dBWBvhGaXYVB4AcN6+ol6vg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-export-namespace-from": "^7.8.3" - } - }, - "@babel/plugin-transform-for-of": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.22.5.tgz", - "integrity": "sha512-3kxQjX1dU9uudwSshyLeEipvrLjBCVthCgeTp6CzE/9JYrlAIaeekVxRpCWsDDfYTfRZRoCeZatCQvwo+wvK8A==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-function-name": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.22.5.tgz", - "integrity": "sha512-UIzQNMS0p0HHiQm3oelztj+ECwFnj+ZRV4KnguvlsD2of1whUeM6o7wGNj6oLwcDoAXQ8gEqfgC24D+VdIcevg==", - "dev": true, - "requires": { - "@babel/helper-compilation-targets": "^7.22.5", - "@babel/helper-function-name": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-json-strings": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.22.5.tgz", - "integrity": "sha512-DuCRB7fu8MyTLbEQd1ew3R85nx/88yMoqo2uPSjevMj3yoN7CDM8jkgrY0wmVxfJZyJ/B9fE1iq7EQppWQmR5A==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-json-strings": "^7.8.3" - } - }, - "@babel/plugin-transform-literals": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.22.5.tgz", - "integrity": "sha512-fTLj4D79M+mepcw3dgFBTIDYpbcB9Sm0bpm4ppXPaO+U+PKFFyV9MGRvS0gvGw62sd10kT5lRMKXAADb9pWy8g==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-logical-assignment-operators": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.22.5.tgz", - "integrity": "sha512-MQQOUW1KL8X0cDWfbwYP+TbVbZm16QmQXJQ+vndPtH/BoO0lOKpVoEDMI7+PskYxH+IiE0tS8xZye0qr1lGzSA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" - } - }, - "@babel/plugin-transform-member-expression-literals": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.22.5.tgz", - "integrity": "sha512-RZEdkNtzzYCFl9SE9ATaUMTj2hqMb4StarOJLrZRbqqU4HSBE7UlBw9WBWQiDzrJZJdUWiMTVDI6Gv/8DPvfew==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-modules-amd": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.22.5.tgz", - "integrity": "sha512-R+PTfLTcYEmb1+kK7FNkhQ1gP4KgjpSO6HfH9+f8/yfp2Nt3ggBjiVpRwmwTlfqZLafYKJACy36yDXlEmI9HjQ==", - "dev": true, - "requires": { - "@babel/helper-module-transforms": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-modules-commonjs": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.22.5.tgz", - "integrity": "sha512-B4pzOXj+ONRmuaQTg05b3y/4DuFz3WcCNAXPLb2Q0GT0TrGKGxNKV4jwsXts+StaM0LQczZbOpj8o1DLPDJIiA==", - "dev": true, - "requires": { - "@babel/helper-module-transforms": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-simple-access": "^7.22.5" - } - }, - "@babel/plugin-transform-modules-systemjs": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.22.5.tgz", - "integrity": "sha512-emtEpoaTMsOs6Tzz+nbmcePl6AKVtS1yC4YNAeMun9U8YCsgadPNxnOPQ8GhHFB2qdx+LZu9LgoC0Lthuu05DQ==", - "dev": true, - "requires": { - "@babel/helper-hoist-variables": "^7.22.5", - "@babel/helper-module-transforms": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-validator-identifier": "^7.22.5" - } - }, - "@babel/plugin-transform-modules-umd": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.22.5.tgz", - "integrity": "sha512-+S6kzefN/E1vkSsKx8kmQuqeQsvCKCd1fraCM7zXm4SFoggI099Tr4G8U81+5gtMdUeMQ4ipdQffbKLX0/7dBQ==", - "dev": true, - "requires": { - "@babel/helper-module-transforms": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-named-capturing-groups-regex": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.22.5.tgz", - "integrity": "sha512-YgLLKmS3aUBhHaxp5hi1WJTgOUb/NCuDHzGT9z9WTt3YG+CPRhJs6nprbStx6DnWM4dh6gt7SU3sZodbZ08adQ==", - "dev": true, - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-new-target": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.22.5.tgz", - "integrity": "sha512-AsF7K0Fx/cNKVyk3a+DW0JLo+Ua598/NxMRvxDnkpCIGFh43+h/v2xyhRUYf6oD8gE4QtL83C7zZVghMjHd+iw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-nullish-coalescing-operator": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.22.5.tgz", - "integrity": "sha512-6CF8g6z1dNYZ/VXok5uYkkBBICHZPiGEl7oDnAx2Mt1hlHVHOSIKWJaXHjQJA5VB43KZnXZDIexMchY4y2PGdA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" - } - }, - "@babel/plugin-transform-numeric-separator": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.22.5.tgz", - "integrity": "sha512-NbslED1/6M+sXiwwtcAB/nieypGw02Ejf4KtDeMkCEpP6gWFMX1wI9WKYua+4oBneCCEmulOkRpwywypVZzs/g==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-numeric-separator": "^7.10.4" - } - }, - "@babel/plugin-transform-object-rest-spread": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.22.5.tgz", - "integrity": "sha512-Kk3lyDmEslH9DnvCDA1s1kkd3YWQITiBOHngOtDL9Pt6BZjzqb6hiOlb8VfjiiQJ2unmegBqZu0rx5RxJb5vmQ==", - "dev": true, - "requires": { - "@babel/compat-data": "^7.22.5", - "@babel/helper-compilation-targets": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-transform-parameters": "^7.22.5" - } - }, - "@babel/plugin-transform-object-super": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.22.5.tgz", - "integrity": "sha512-klXqyaT9trSjIUrcsYIfETAzmOEZL3cBYqOYLJxBHfMFFggmXOv+NYSX/Jbs9mzMVESw/WycLFPRx8ba/b2Ipw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-replace-supers": "^7.22.5" - } - }, - "@babel/plugin-transform-optional-catch-binding": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.22.5.tgz", - "integrity": "sha512-pH8orJahy+hzZje5b8e2QIlBWQvGpelS76C63Z+jhZKsmzfNaPQ+LaW6dcJ9bxTpo1mtXbgHwy765Ro3jftmUg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" - } - }, - "@babel/plugin-transform-optional-chaining": { - "version": "7.22.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.22.6.tgz", - "integrity": "sha512-Vd5HiWml0mDVtcLHIoEU5sw6HOUW/Zk0acLs/SAeuLzkGNOPc9DB4nkUajemhCmTIz3eiaKREZn2hQQqF79YTg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", - "@babel/plugin-syntax-optional-chaining": "^7.8.3" - } - }, - "@babel/plugin-transform-parameters": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.22.5.tgz", - "integrity": "sha512-AVkFUBurORBREOmHRKo06FjHYgjrabpdqRSwq6+C7R5iTCZOsM4QbcB27St0a4U6fffyAOqh3s/qEfybAhfivg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-private-methods": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.22.5.tgz", - "integrity": "sha512-PPjh4gyrQnGe97JTalgRGMuU4icsZFnWkzicB/fUtzlKUqvsWBKEpPPfr5a2JiyirZkHxnAqkQMO5Z5B2kK3fA==", - "dev": true, - "requires": { - "@babel/helper-create-class-features-plugin": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-private-property-in-object": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.22.5.tgz", - "integrity": "sha512-/9xnaTTJcVoBtSSmrVyhtSvO3kbqS2ODoh2juEU72c3aYonNF0OMGiaz2gjukyKM2wBBYJP38S4JiE0Wfb5VMQ==", - "dev": true, - "requires": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-create-class-features-plugin": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-private-property-in-object": "^7.14.5" - } - }, - "@babel/plugin-transform-property-literals": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.22.5.tgz", - "integrity": "sha512-TiOArgddK3mK/x1Qwf5hay2pxI6wCZnvQqrFSqbtg1GLl2JcNMitVH/YnqjP+M31pLUeTfzY1HAXFDnUBV30rQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-regenerator": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.22.5.tgz", - "integrity": "sha512-rR7KePOE7gfEtNTh9Qw+iO3Q/e4DEsoQ+hdvM6QUDH7JRJ5qxq5AA52ZzBWbI5i9lfNuvySgOGP8ZN7LAmaiPw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5", - "regenerator-transform": "^0.15.1" - } - }, - "@babel/plugin-transform-reserved-words": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.22.5.tgz", - "integrity": "sha512-DTtGKFRQUDm8svigJzZHzb/2xatPc6TzNvAIJ5GqOKDsGFYgAskjRulbR/vGsPKq3OPqtexnz327qYpP57RFyA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-shorthand-properties": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.22.5.tgz", - "integrity": "sha512-vM4fq9IXHscXVKzDv5itkO1X52SmdFBFcMIBZ2FRn2nqVYqw6dBexUgMvAjHW+KXpPPViD/Yo3GrDEBaRC0QYA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-spread": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.22.5.tgz", - "integrity": "sha512-5ZzDQIGyvN4w8+dMmpohL6MBo+l2G7tfC/O2Dg7/hjpgeWvUx8FzfeOKxGog9IimPa4YekaQ9PlDqTLOljkcxg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5" - } - }, - "@babel/plugin-transform-sticky-regex": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.22.5.tgz", - "integrity": "sha512-zf7LuNpHG0iEeiyCNwX4j3gDg1jgt1k3ZdXBKbZSoA3BbGQGvMiSvfbZRR3Dr3aeJe3ooWFZxOOG3IRStYp2Bw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-template-literals": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.22.5.tgz", - "integrity": "sha512-5ciOehRNf+EyUeewo8NkbQiUs4d6ZxiHo6BcBcnFlgiJfu16q0bQUw9Jvo0b0gBKFG1SMhDSjeKXSYuJLeFSMA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-typeof-symbol": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.22.5.tgz", - "integrity": "sha512-bYkI5lMzL4kPii4HHEEChkD0rkc+nvnlR6+o/qdqR6zrm0Sv/nodmyLhlq2DO0YKLUNd2VePmPRjJXSBh9OIdA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-unicode-escapes": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.22.5.tgz", - "integrity": "sha512-biEmVg1IYB/raUO5wT1tgfacCef15Fbzhkx493D3urBI++6hpJ+RFG4SrWMn0NEZLfvilqKf3QDrRVZHo08FYg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-unicode-property-regex": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.22.5.tgz", - "integrity": "sha512-HCCIb+CbJIAE6sXn5CjFQXMwkCClcOfPCzTlilJ8cUatfzwHlWQkbtV0zD338u9dZskwvuOYTuuaMaA8J5EI5A==", - "dev": true, - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-unicode-regex": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.22.5.tgz", - "integrity": "sha512-028laaOKptN5vHJf9/Arr/HiJekMd41hOEZYvNsrsXqJ7YPYuX2bQxh31fkZzGmq3YqHRJzYFFAVYvKfMPKqyg==", - "dev": true, - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-unicode-sets-regex": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.22.5.tgz", - "integrity": "sha512-lhMfi4FC15j13eKrh3DnYHjpGj6UKQHtNKTbtc1igvAhRy4+kLhV07OpLcsN0VgDEw/MjAvJO4BdMJsHwMhzCg==", - "dev": true, - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/preset-env": { - "version": "7.22.9", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.22.9.tgz", - "integrity": "sha512-wNi5H/Emkhll/bqPjsjQorSykrlfY5OWakd6AulLvMEytpKasMVUpVy8RL4qBIBs5Ac6/5i0/Rv0b/Fg6Eag/g==", - "dev": true, - "requires": { - "@babel/compat-data": "^7.22.9", - "@babel/helper-compilation-targets": "^7.22.9", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-validator-option": "^7.22.5", - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.22.5", - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.22.5", - "@babel/plugin-proposal-private-property-in-object": "7.21.0-placeholder-for-preset-env.2", - "@babel/plugin-syntax-async-generators": "^7.8.4", - "@babel/plugin-syntax-class-properties": "^7.12.13", - "@babel/plugin-syntax-class-static-block": "^7.14.5", - "@babel/plugin-syntax-dynamic-import": "^7.8.3", - "@babel/plugin-syntax-export-namespace-from": "^7.8.3", - "@babel/plugin-syntax-import-assertions": "^7.22.5", - "@babel/plugin-syntax-import-attributes": "^7.22.5", - "@babel/plugin-syntax-import-meta": "^7.10.4", - "@babel/plugin-syntax-json-strings": "^7.8.3", - "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", - "@babel/plugin-syntax-numeric-separator": "^7.10.4", - "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", - "@babel/plugin-syntax-optional-chaining": "^7.8.3", - "@babel/plugin-syntax-private-property-in-object": "^7.14.5", - "@babel/plugin-syntax-top-level-await": "^7.14.5", - "@babel/plugin-syntax-unicode-sets-regex": "^7.18.6", - "@babel/plugin-transform-arrow-functions": "^7.22.5", - "@babel/plugin-transform-async-generator-functions": "^7.22.7", - "@babel/plugin-transform-async-to-generator": "^7.22.5", - "@babel/plugin-transform-block-scoped-functions": "^7.22.5", - "@babel/plugin-transform-block-scoping": "^7.22.5", - "@babel/plugin-transform-class-properties": "^7.22.5", - "@babel/plugin-transform-class-static-block": "^7.22.5", - "@babel/plugin-transform-classes": "^7.22.6", - "@babel/plugin-transform-computed-properties": "^7.22.5", - "@babel/plugin-transform-destructuring": "^7.22.5", - "@babel/plugin-transform-dotall-regex": "^7.22.5", - "@babel/plugin-transform-duplicate-keys": "^7.22.5", - "@babel/plugin-transform-dynamic-import": "^7.22.5", - "@babel/plugin-transform-exponentiation-operator": "^7.22.5", - "@babel/plugin-transform-export-namespace-from": "^7.22.5", - "@babel/plugin-transform-for-of": "^7.22.5", - "@babel/plugin-transform-function-name": "^7.22.5", - "@babel/plugin-transform-json-strings": "^7.22.5", - "@babel/plugin-transform-literals": "^7.22.5", - "@babel/plugin-transform-logical-assignment-operators": "^7.22.5", - "@babel/plugin-transform-member-expression-literals": "^7.22.5", - "@babel/plugin-transform-modules-amd": "^7.22.5", - "@babel/plugin-transform-modules-commonjs": "^7.22.5", - "@babel/plugin-transform-modules-systemjs": "^7.22.5", - "@babel/plugin-transform-modules-umd": "^7.22.5", - "@babel/plugin-transform-named-capturing-groups-regex": "^7.22.5", - "@babel/plugin-transform-new-target": "^7.22.5", - "@babel/plugin-transform-nullish-coalescing-operator": "^7.22.5", - "@babel/plugin-transform-numeric-separator": "^7.22.5", - "@babel/plugin-transform-object-rest-spread": "^7.22.5", - "@babel/plugin-transform-object-super": "^7.22.5", - "@babel/plugin-transform-optional-catch-binding": "^7.22.5", - "@babel/plugin-transform-optional-chaining": "^7.22.6", - "@babel/plugin-transform-parameters": "^7.22.5", - "@babel/plugin-transform-private-methods": "^7.22.5", - "@babel/plugin-transform-private-property-in-object": "^7.22.5", - "@babel/plugin-transform-property-literals": "^7.22.5", - "@babel/plugin-transform-regenerator": "^7.22.5", - "@babel/plugin-transform-reserved-words": "^7.22.5", - "@babel/plugin-transform-shorthand-properties": "^7.22.5", - "@babel/plugin-transform-spread": "^7.22.5", - "@babel/plugin-transform-sticky-regex": "^7.22.5", - "@babel/plugin-transform-template-literals": "^7.22.5", - "@babel/plugin-transform-typeof-symbol": "^7.22.5", - "@babel/plugin-transform-unicode-escapes": "^7.22.5", - "@babel/plugin-transform-unicode-property-regex": "^7.22.5", - "@babel/plugin-transform-unicode-regex": "^7.22.5", - "@babel/plugin-transform-unicode-sets-regex": "^7.22.5", - "@babel/preset-modules": "^0.1.5", - "@babel/types": "^7.22.5", - "babel-plugin-polyfill-corejs2": "^0.4.4", - "babel-plugin-polyfill-corejs3": "^0.8.2", - "babel-plugin-polyfill-regenerator": "^0.5.1", - "core-js-compat": "^3.31.0", - "semver": "^6.3.1" - } - }, - "@babel/preset-modules": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.5.tgz", - "integrity": "sha512-A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/plugin-proposal-unicode-property-regex": "^7.4.4", - "@babel/plugin-transform-dotall-regex": "^7.4.4", - "@babel/types": "^7.4.4", - "esutils": "^2.0.2" - } - }, - "@babel/regjsgen": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/@babel/regjsgen/-/regjsgen-0.8.0.tgz", - "integrity": "sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==", - "dev": true - }, - "@babel/runtime": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.22.5.tgz", - "integrity": "sha512-ecjvYlnAaZ/KVneE/OdKYBYfgXV3Ptu6zQWmgEF7vwKhQnvVS6bjMD2XYgj+SNvQ1GfK/pjgokfPkC/2CO8CuA==", - "dev": true, - "requires": { - "regenerator-runtime": "^0.13.11" - } - }, - "@babel/template": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.22.5.tgz", - "integrity": "sha512-X7yV7eiwAxdj9k94NEylvbVHLiVG1nvzCV2EAowhxLTwODV1jl9UzZ48leOC0sH7OnuHrIkllaBgneUykIcZaw==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.22.5", - "@babel/parser": "^7.22.5", - "@babel/types": "^7.22.5" - } - }, - "@babel/traverse": { - "version": "7.22.8", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.22.8.tgz", - "integrity": "sha512-y6LPR+wpM2I3qJrsheCTwhIinzkETbplIgPBbwvqPKc+uljeA5gP+3nP8irdYt1mjQaDnlIcG+dw8OjAco4GXw==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.22.5", - "@babel/generator": "^7.22.7", - "@babel/helper-environment-visitor": "^7.22.5", - "@babel/helper-function-name": "^7.22.5", - "@babel/helper-hoist-variables": "^7.22.5", - "@babel/helper-split-export-declaration": "^7.22.6", - "@babel/parser": "^7.22.7", - "@babel/types": "^7.22.5", - "debug": "^4.1.0", - "globals": "^11.1.0" - } - }, - "@babel/types": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.22.5.tgz", - "integrity": "sha512-zo3MIHGOkPOfoRXitsgHLjEXmlDaD/5KU1Uzuc9GNiZPhSqVxVRtxuPaSBZDsYZ9qV88AjtMtWW7ww98loJ9KA==", - "dev": true, - "requires": { - "@babel/helper-string-parser": "^7.22.5", - "@babel/helper-validator-identifier": "^7.22.5", - "to-fast-properties": "^2.0.0" - } - }, "@colors/colors": { "version": "1.5.0", "resolved": "https://registry.npmjs.org/@colors/colors/-/colors-1.5.0.tgz", @@ -13684,6 +11430,34 @@ "dev": true, "optional": true }, + "@cspotcode/source-map-support": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz", + "integrity": "sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==", + "dev": true, + "requires": { + "@jridgewell/trace-mapping": "0.3.9" + }, + "dependencies": { + "@jridgewell/trace-mapping": { + "version": "0.3.9", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz", + "integrity": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==", + "dev": true, + "requires": { + "@jridgewell/resolve-uri": "^3.0.3", + "@jridgewell/sourcemap-codec": "^1.4.10" + } + } + } + }, + "@esbuild/darwin-arm64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.17.19.tgz", + "integrity": "sha512-80wEoCfF/hFKM6WE1FyBHc9SfUblloAWx6FJkFWTWiCoht9Mc0ARGEM47e67W9rI09YoUxJL68WHfDRYEAvOhg==", + "dev": true, + "optional": true + }, "@eslint-community/eslint-utils": { "version": "4.4.0", "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", @@ -13886,12 +11660,6 @@ } } }, - "@nicolo-ribaudo/semver-v6": { - "version": "6.3.3", - "resolved": "https://registry.npmjs.org/@nicolo-ribaudo/semver-v6/-/semver-v6-6.3.3.tgz", - "integrity": "sha512-3Yc1fUTs69MG/uZbJlLSI3JISMn2UV2rg+1D/vROUqZyh3l6iYHCs7GMp+M40ZD7yOdDbYjJcU1oTJhrc+dGKg==", - "dev": true - }, "@nodelib/fs.scandir": { "version": "2.1.5", "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", @@ -14056,27 +11824,6 @@ "config-chain": "^1.1.11" } }, - "@rollup/plugin-babel": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/@rollup/plugin-babel/-/plugin-babel-6.0.3.tgz", - "integrity": "sha512-fKImZKppa1A/gX73eg4JGo+8kQr/q1HBQaCGKECZ0v4YBBv3lFqi14+7xyApECzvkLTHCifx+7ntcrvtBIRcpg==", - "dev": true, - "requires": { - "@babel/helper-module-imports": "^7.18.6", - "@rollup/pluginutils": "^5.0.1" - } - }, - "@rollup/pluginutils": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.0.2.tgz", - "integrity": "sha512-pTd9rIsP92h+B6wWwFbW8RkZv4hiR/xKsqre4SIuAOaOEQRxi0lqLke9k2/7WegC85GgUs9pjmOjCUi3In4vwA==", - "dev": true, - "requires": { - "@types/estree": "^1.0.0", - "estree-walker": "^2.0.2", - "picomatch": "^2.3.1" - } - }, "@semantic-release/commit-analyzer": { "version": "10.0.1", "resolved": "https://registry.npmjs.org/@semantic-release/commit-analyzer/-/commit-analyzer-10.0.1.tgz", @@ -14550,6 +12297,30 @@ } } }, + "@tsconfig/node10": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.9.tgz", + "integrity": "sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA==", + "dev": true + }, + "@tsconfig/node12": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.11.tgz", + "integrity": "sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==", + "dev": true + }, + "@tsconfig/node14": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.3.tgz", + "integrity": "sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==", + "dev": true + }, + "@tsconfig/node16": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.4.tgz", + "integrity": "sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==", + "dev": true + }, "@types/concat-stream": { "version": "1.6.1", "resolved": "https://registry.npmjs.org/@types/concat-stream/-/concat-stream-1.6.1.tgz", @@ -14559,12 +12330,6 @@ "@types/node": "*" } }, - "@types/estree": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.0.tgz", - "integrity": "sha512-WulqXMDUTYAXCjZnk6JtIHPigp55cVtDgDrO2gHRwhyJto21+1zbVCtOYB2L1F9w4qCQ0rOGWBnBe0FNTiEJIQ==", - "dev": true - }, "@types/form-data": { "version": "0.0.33", "resolved": "https://registry.npmjs.org/@types/form-data/-/form-data-0.0.33.tgz", @@ -14574,6 +12339,12 @@ "@types/node": "*" } }, + "@types/json-schema": { + "version": "7.0.12", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.12.tgz", + "integrity": "sha512-Hr5Jfhc9eYOQNPYO5WLDq/n4jqijdHNlDXjuAQkkt+mWdQR+XJToOHrsD4cPaMXpn6KO7y2+wM8AZEs8VpBLVA==", + "dev": true + }, "@types/json5": { "version": "0.0.29", "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", @@ -14610,6 +12381,180 @@ "integrity": "sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==", "dev": true }, + "@types/semver": { + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.0.tgz", + "integrity": "sha512-G8hZ6XJiHnuhQKR7ZmysCeJWE08o8T0AXtk5darsCaTVsYZhhgUrq53jizaR2FvsoeCwJhlmwTjkXBY5Pn/ZHw==", + "dev": true + }, + "@typescript-eslint/eslint-plugin": { + "version": "5.59.9", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.59.9.tgz", + "integrity": "sha512-4uQIBq1ffXd2YvF7MAvehWKW3zVv/w+mSfRAu+8cKbfj3nwzyqJLNcZJpQ/WZ1HLbJDiowwmQ6NO+63nCA+fqA==", + "dev": true, + "requires": { + "@eslint-community/regexpp": "^4.4.0", + "@typescript-eslint/scope-manager": "5.59.9", + "@typescript-eslint/type-utils": "5.59.9", + "@typescript-eslint/utils": "5.59.9", + "debug": "^4.3.4", + "grapheme-splitter": "^1.0.4", + "ignore": "^5.2.0", + "natural-compare-lite": "^1.4.0", + "semver": "^7.3.7", + "tsutils": "^3.21.0" + }, + "dependencies": { + "semver": { + "version": "7.5.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.1.tgz", + "integrity": "sha512-Wvss5ivl8TMRZXXESstBA4uR5iXgEN/VC5/sOcuXdVLzcdkz4HWetIoRfG5gb5X+ij/G9rw9YoGn3QoQ8OCSpw==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + } + } + }, + "@typescript-eslint/parser": { + "version": "5.59.9", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.59.9.tgz", + "integrity": "sha512-FsPkRvBtcLQ/eVK1ivDiNYBjn3TGJdXy2fhXX+rc7czWl4ARwnpArwbihSOHI2Peg9WbtGHrbThfBUkZZGTtvQ==", + "dev": true, + "requires": { + "@typescript-eslint/scope-manager": "5.59.9", + "@typescript-eslint/types": "5.59.9", + "@typescript-eslint/typescript-estree": "5.59.9", + "debug": "^4.3.4" + } + }, + "@typescript-eslint/scope-manager": { + "version": "5.59.9", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.59.9.tgz", + "integrity": "sha512-8RA+E+w78z1+2dzvK/tGZ2cpGigBZ58VMEHDZtpE1v+LLjzrYGc8mMaTONSxKyEkz3IuXFM0IqYiGHlCsmlZxQ==", + "dev": true, + "requires": { + "@typescript-eslint/types": "5.59.9", + "@typescript-eslint/visitor-keys": "5.59.9" + } + }, + "@typescript-eslint/type-utils": { + "version": "5.59.9", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.59.9.tgz", + "integrity": "sha512-ksEsT0/mEHg9e3qZu98AlSrONAQtrSTljL3ow9CGej8eRo7pe+yaC/mvTjptp23Xo/xIf2mLZKC6KPv4Sji26Q==", + "dev": true, + "requires": { + "@typescript-eslint/typescript-estree": "5.59.9", + "@typescript-eslint/utils": "5.59.9", + "debug": "^4.3.4", + "tsutils": "^3.21.0" + } + }, + "@typescript-eslint/types": { + "version": "5.59.9", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.59.9.tgz", + "integrity": "sha512-uW8H5NRgTVneSVTfiCVffBb8AbwWSKg7qcA4Ot3JI3MPCJGsB4Db4BhvAODIIYE5mNj7Q+VJkK7JxmRhk2Lyjw==", + "dev": true + }, + "@typescript-eslint/typescript-estree": { + "version": "5.59.9", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.59.9.tgz", + "integrity": "sha512-pmM0/VQ7kUhd1QyIxgS+aRvMgw+ZljB3eDb+jYyp6d2bC0mQWLzUDF+DLwCTkQ3tlNyVsvZRXjFyV0LkU/aXjA==", + "dev": true, + "requires": { + "@typescript-eslint/types": "5.59.9", + "@typescript-eslint/visitor-keys": "5.59.9", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "semver": "^7.3.7", + "tsutils": "^3.21.0" + }, + "dependencies": { + "globby": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", + "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", + "dev": true, + "requires": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.2.9", + "ignore": "^5.2.0", + "merge2": "^1.4.1", + "slash": "^3.0.0" + } + }, + "semver": { + "version": "7.5.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.1.tgz", + "integrity": "sha512-Wvss5ivl8TMRZXXESstBA4uR5iXgEN/VC5/sOcuXdVLzcdkz4HWetIoRfG5gb5X+ij/G9rw9YoGn3QoQ8OCSpw==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true + } + } + }, + "@typescript-eslint/utils": { + "version": "5.59.9", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.59.9.tgz", + "integrity": "sha512-1PuMYsju/38I5Ggblaeb98TOoUvjhRvLpLa1DoTOFaLWqaXl/1iQ1eGurTXgBY58NUdtfTXKP5xBq7q9NDaLKg==", + "dev": true, + "requires": { + "@eslint-community/eslint-utils": "^4.2.0", + "@types/json-schema": "^7.0.9", + "@types/semver": "^7.3.12", + "@typescript-eslint/scope-manager": "5.59.9", + "@typescript-eslint/types": "5.59.9", + "@typescript-eslint/typescript-estree": "5.59.9", + "eslint-scope": "^5.1.1", + "semver": "^7.3.7" + }, + "dependencies": { + "eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "dev": true, + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + } + }, + "estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true + }, + "semver": { + "version": "7.5.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.1.tgz", + "integrity": "sha512-Wvss5ivl8TMRZXXESstBA4uR5iXgEN/VC5/sOcuXdVLzcdkz4HWetIoRfG5gb5X+ij/G9rw9YoGn3QoQ8OCSpw==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + } + } + }, + "@typescript-eslint/visitor-keys": { + "version": "5.59.9", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.59.9.tgz", + "integrity": "sha512-bT7s0td97KMaLwpEBckbzj/YohnvXtqbe2XgqNvTl6RJVakY5mvENOTPvw5u66nljfZxthESpDozs86U+oLY8Q==", + "dev": true, + "requires": { + "@typescript-eslint/types": "5.59.9", + "eslint-visitor-keys": "^3.3.0" + } + }, "acorn": { "version": "8.9.0", "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.9.0.tgz", @@ -14623,6 +12568,12 @@ "dev": true, "requires": {} }, + "acorn-walk": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz", + "integrity": "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==", + "dev": true + }, "agent-base": { "version": "7.1.0", "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.0.tgz", @@ -14692,6 +12643,28 @@ "integrity": "sha512-QXu7BPrP29VllRxH8GwB7x5iX5qWKAAMLqKQGWTeLWVlNHNOpVMJ91dsxQAIWXpjuW5wqvxu3Jd/nRjrJ+0pqg==", "dev": true }, + "any-promise": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", + "integrity": "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==", + "dev": true + }, + "anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "dev": true, + "requires": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + } + }, + "arg": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", + "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==", + "dev": true + }, "argparse": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", @@ -14707,7 +12680,7 @@ "array-ify": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/array-ify/-/array-ify-1.0.0.tgz", - "integrity": "sha1-nlKHYrSpBmrRY6aWKjZEGOlibs4=", + "integrity": "sha512-c5AMf34bKdvPhQ7tBGhqkgKNUzMr4WUs+WDtC2ZUGOUncbxKMTvqxYctiseW3+L4bA8ec+GcZ6/A/FW4m8ukng==", "dev": true }, "array-includes": { @@ -14723,6 +12696,12 @@ "is-string": "^1.0.7" } }, + "array-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", + "dev": true + }, "array.prototype.flat": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.1.tgz", @@ -14750,7 +12729,7 @@ "arrify": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", - "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=", + "integrity": "sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==", "dev": true }, "asap": { @@ -14771,36 +12750,6 @@ "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==", "dev": true }, - "babel-plugin-polyfill-corejs2": { - "version": "0.4.4", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.4.tgz", - "integrity": "sha512-9WeK9snM1BfxB38goUEv2FLnA6ja07UMfazFHzCXUb3NyDZAwfXvQiURQ6guTTMeHcOsdknULm1PDhs4uWtKyA==", - "dev": true, - "requires": { - "@babel/compat-data": "^7.22.6", - "@babel/helper-define-polyfill-provider": "^0.4.1", - "@nicolo-ribaudo/semver-v6": "^6.3.3" - } - }, - "babel-plugin-polyfill-corejs3": { - "version": "0.8.2", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.8.2.tgz", - "integrity": "sha512-Cid+Jv1BrY9ReW9lIfNlNpsI53N+FN7gE+f73zLAUbr9C52W4gKLWSByx47pfDJsEysojKArqOtOKZSVIIUTuQ==", - "dev": true, - "requires": { - "@babel/helper-define-polyfill-provider": "^0.4.1", - "core-js-compat": "^3.31.0" - } - }, - "babel-plugin-polyfill-regenerator": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.5.1.tgz", - "integrity": "sha512-L8OyySuI6OSQ5hFy9O+7zFjyr4WhAfRjLIOkhQGYl+emwJkd/S4XXT1JpfrgR1jrQ1NcGiOh+yAdGlF8pnC3Jw==", - "dev": true, - "requires": { - "@babel/helper-define-polyfill-provider": "^0.4.1" - } - }, "balanced-match": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", @@ -14813,6 +12762,12 @@ "integrity": "sha512-NzUnlZexiaH/46WDhANlyR2bXRopNg4F/zuSA3OpZnllCUgRaOF2znDioDWrmbNVsuZk6l9pMquQB38cfBZwkQ==", "dev": true }, + "binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", + "dev": true + }, "boolbase": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", @@ -14844,18 +12799,6 @@ "fill-range": "^7.0.1" } }, - "browserslist": { - "version": "4.21.9", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.9.tgz", - "integrity": "sha512-M0MFoZzbUrRU4KNfCrDLnvyE7gub+peetoTid3TBIqtunaDJyXlwhakT+/VkvSXcfIzFfK/nkCs4nmyTmxdNSg==", - "dev": true, - "requires": { - "caniuse-lite": "^1.0.30001503", - "electron-to-chromium": "^1.4.431", - "node-releases": "^2.0.12", - "update-browserslist-db": "^1.0.11" - } - }, "buffer-from": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", @@ -14882,6 +12825,21 @@ } } }, + "bundle-require": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/bundle-require/-/bundle-require-4.0.1.tgz", + "integrity": "sha512-9NQkRHlNdNpDBGmLpngF3EFDcwodhMUuLz9PaWYciVcQF9SE4LFjM2DB/xV1Li5JiuDMv7ZUWuC3rGbqR0MAXQ==", + "dev": true, + "requires": { + "load-tsconfig": "^0.2.3" + } + }, + "cac": { + "version": "6.7.14", + "resolved": "https://registry.npmjs.org/cac/-/cac-6.7.14.tgz", + "integrity": "sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==", + "dev": true + }, "call-bind": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", @@ -14915,12 +12873,6 @@ "quick-lru": "^4.0.1" } }, - "caniuse-lite": { - "version": "1.0.30001514", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001514.tgz", - "integrity": "sha512-ENcIpYBmwAAOm/V2cXgM7rZUrKKaqisZl4ZAI520FIkqGXUxJjmaIssbRW5HVVR5tyV6ygTLIm15aU8LUmQSaQ==", - "dev": true - }, "cardinal": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/cardinal/-/cardinal-2.1.1.tgz", @@ -14977,6 +12929,33 @@ "domutils": "^3.0.1" } }, + "chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "dev": true, + "requires": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "fsevents": "~2.3.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "dependencies": { + "glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "requires": { + "is-glob": "^4.0.1" + } + } + } + }, "clean-stack": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", @@ -15039,6 +13018,12 @@ "delayed-stream": "~1.0.0" } }, + "commander": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", + "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", + "dev": true + }, "commonmark": { "version": "0.30.0", "resolved": "https://registry.npmjs.org/commonmark/-/commonmark-0.30.0.tgz", @@ -15135,24 +13120,6 @@ "split2": "^3.2.2" } }, - "convert-source-map": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.8.0.tgz", - "integrity": "sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==", - "dev": true, - "requires": { - "safe-buffer": "~5.1.1" - } - }, - "core-js-compat": { - "version": "3.31.1", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.31.1.tgz", - "integrity": "sha512-wIDWd2s5/5aJSdpOJHfSibxNODxoGoWOBHt8JSPB41NOE94M7kuTPZCYLOlTtuoXTsBPKobpJ6T+y0SSy5L9SA==", - "dev": true, - "requires": { - "browserslist": "^4.21.9" - } - }, "core-util-is": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", @@ -15171,6 +13138,21 @@ "path-type": "^4.0.0" } }, + "create-require": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz", + "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==", + "dev": true + }, + "cross-env": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-env/-/cross-env-7.0.3.tgz", + "integrity": "sha512-+/HKd6EgcQCJGh2PSjZuUitQBQynKor4wrFbRg4DtAgS1aWO+gU52xpH7M9ScGgXSYmAVS9bIJ8EzuaGw0oNAw==", + "dev": true, + "requires": { + "cross-spawn": "^7.0.1" + } + }, "cross-spawn": { "version": "7.0.3", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", @@ -15242,13 +13224,13 @@ "decamelize": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", + "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==", "dev": true }, "decamelize-keys": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/decamelize-keys/-/decamelize-keys-1.1.0.tgz", - "integrity": "sha1-0XGoeTMlKAfrPLYdwcFEXQeN8tk=", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/decamelize-keys/-/decamelize-keys-1.1.1.tgz", + "integrity": "sha512-WiPxgEirIV0/eIOMcnFBA3/IJZAZqKnwAwWyvvdi4lsr1WCN22nhdf/3db3DoZcUjTV2SqfzIwNyp6y2xs3nmg==", "dev": true, "requires": { "decamelize": "^1.1.0", @@ -15258,7 +13240,7 @@ "map-obj": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", - "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=", + "integrity": "sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg==", "dev": true } } @@ -15390,12 +13372,6 @@ "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", "dev": true }, - "electron-to-chromium": { - "version": "1.4.454", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.454.tgz", - "integrity": "sha512-pmf1rbAStw8UEQ0sr2cdJtWl48ZMuPD9Sto8HVQOq9vx9j2WgDEN6lYoaqFvqEHYOmGA9oRGn7LqWI9ta0YugQ==", - "dev": true - }, "emoji-regex": { "version": "8.0.0", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", @@ -15566,6 +13542,36 @@ "is-symbol": "^1.0.2" } }, + "esbuild": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.17.19.tgz", + "integrity": "sha512-XQ0jAPFkK/u3LcVRcvVHQcTIqD6E2H1fvZMA5dQPSOWb3suUbWbfbRf94pjc0bNzRYLfIrDRQXr7X+LHIm5oHw==", + "dev": true, + "requires": { + "@esbuild/android-arm": "0.17.19", + "@esbuild/android-arm64": "0.17.19", + "@esbuild/android-x64": "0.17.19", + "@esbuild/darwin-arm64": "0.17.19", + "@esbuild/darwin-x64": "0.17.19", + "@esbuild/freebsd-arm64": "0.17.19", + "@esbuild/freebsd-x64": "0.17.19", + "@esbuild/linux-arm": "0.17.19", + "@esbuild/linux-arm64": "0.17.19", + "@esbuild/linux-ia32": "0.17.19", + "@esbuild/linux-loong64": "0.17.19", + "@esbuild/linux-mips64el": "0.17.19", + "@esbuild/linux-ppc64": "0.17.19", + "@esbuild/linux-riscv64": "0.17.19", + "@esbuild/linux-s390x": "0.17.19", + "@esbuild/linux-x64": "0.17.19", + "@esbuild/netbsd-x64": "0.17.19", + "@esbuild/openbsd-x64": "0.17.19", + "@esbuild/sunos-x64": "0.17.19", + "@esbuild/win32-arm64": "0.17.19", + "@esbuild/win32-ia32": "0.17.19", + "@esbuild/win32-x64": "0.17.19" + } + }, "escalade": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", @@ -15931,12 +13937,6 @@ "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", "dev": true }, - "estree-walker": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", - "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", - "dev": true - }, "esutils": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", @@ -16226,12 +14226,6 @@ "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", "dev": true }, - "gensync": { - "version": "1.0.0-beta.2", - "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", - "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", - "dev": true - }, "get-caller-file": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", @@ -16329,12 +14323,6 @@ "is-glob": "^4.0.3" } }, - "globals": { - "version": "11.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", - "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", - "dev": true - }, "globalthis": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.3.tgz", @@ -16372,6 +14360,12 @@ "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==", "dev": true }, + "grapheme-splitter": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz", + "integrity": "sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==", + "dev": true + }, "graphemer": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", @@ -16389,6 +14383,14 @@ "source-map": "^0.6.1", "uglify-js": "^3.1.4", "wordwrap": "^1.0.0" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } } }, "hard-rejection": { @@ -16639,6 +14641,15 @@ "has-bigints": "^1.0.1" } }, + "is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dev": true, + "requires": { + "binary-extensions": "^2.0.0" + } + }, "is-boolean-object": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", @@ -16730,7 +14741,7 @@ "is-plain-obj": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", - "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=", + "integrity": "sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==", "dev": true }, "is-plain-object": { @@ -16785,7 +14796,7 @@ "is-text-path": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/is-text-path/-/is-text-path-1.0.1.tgz", - "integrity": "sha1-Thqg+1G/vLPpJogAE5cgLBd1tm4=", + "integrity": "sha512-xFuJpne9oFz5qDaodwmmG08e3CawH/2ZV8Qqza1Ko7Sk8POWbkRdwIoAWVhqvq0XeUzANEhKo2n0IXUGBm7A/w==", "dev": true, "requires": { "text-extensions": "^1.0.0" @@ -16909,6 +14920,12 @@ "integrity": "sha512-qjdpeo2yKlYTH7nFdK0vbZWuTCesk4o63v5iVOlhMQPfuIZQfW/HI35SjfhA+4qpg36rnFSvUK5b1m+ckIblQQ==", "dev": true }, + "joycon": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/joycon/-/joycon-3.1.1.tgz", + "integrity": "sha512-34wB/Y7MW7bzjKRjUKTa46I2Z7eV62Rkhva+KkopW7Qvv/OSWBqvkSY7vusOPrNuZcUG3tApvdVgNB8POj3SPw==", + "dev": true + }, "js-tokens": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", @@ -16924,12 +14941,6 @@ "argparse": "^2.0.1" } }, - "jsesc": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", - "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", - "dev": true - }, "json-parse-better-errors": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", @@ -16960,12 +14971,6 @@ "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==", "dev": true }, - "json5": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", - "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", - "dev": true - }, "jsonfile": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", @@ -16979,7 +14984,7 @@ "jsonparse": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz", - "integrity": "sha1-P02uSpH6wxX3EGL4UhzCOfE2YoA=", + "integrity": "sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==", "dev": true }, "JSONStream": { @@ -17008,6 +15013,12 @@ "type-check": "~0.4.0" } }, + "lilconfig": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz", + "integrity": "sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==", + "dev": true + }, "lines-and-columns": { "version": "1.1.6", "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.1.6.tgz", @@ -17047,6 +15058,12 @@ } } }, + "load-tsconfig": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/load-tsconfig/-/load-tsconfig-0.2.5.tgz", + "integrity": "sha512-IXO6OCs9yg8tMKzfPZ1YmheJbZCiEsnBdcB03l0OcfK9prKnJb96siuHCr5Fl37/yo9DnKU+TLpxzTUspw9shg==", + "dev": true + }, "locate-path": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", @@ -17075,12 +15092,6 @@ "integrity": "sha1-+CbJtOKoUR2E46yinbBeGk87cqk=", "dev": true }, - "lodash.debounce": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", - "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==", - "dev": true - }, "lodash.escaperegexp": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/lodash.escaperegexp/-/lodash.escaperegexp-4.1.2.tgz", @@ -17090,7 +15101,7 @@ "lodash.ismatch": { "version": "4.4.0", "resolved": "https://registry.npmjs.org/lodash.ismatch/-/lodash.ismatch-4.4.0.tgz", - "integrity": "sha1-dWy1FQyjum8RCFp4hJZF8Yj4Xzc=", + "integrity": "sha512-fPMfXjGQEV9Xsq/8MTSgUf255gawYRbjwMyDbcvDhXgV7enSZA0hynz6vMPnpAb5iONEzBHBPsT+0zes5Z301g==", "dev": true }, "lodash.isplainobject": { @@ -17111,6 +15122,12 @@ "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", "dev": true }, + "lodash.sortby": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz", + "integrity": "sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==", + "dev": true + }, "lodash.uniqby": { "version": "4.7.0", "resolved": "https://registry.npmjs.org/lodash.uniqby/-/lodash.uniqby-4.7.0.tgz", @@ -17126,6 +15143,12 @@ "yallist": "^4.0.0" } }, + "make-error": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", + "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", + "dev": true + }, "map-obj": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-4.3.0.tgz", @@ -17306,12 +15329,29 @@ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", "dev": true }, + "mz": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz", + "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==", + "dev": true, + "requires": { + "any-promise": "^1.0.0", + "object-assign": "^4.0.1", + "thenify-all": "^1.0.0" + } + }, "natural-compare": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", "dev": true }, + "natural-compare-lite": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz", + "integrity": "sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==", + "dev": true + }, "neo-async": { "version": "2.6.2", "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", @@ -17350,12 +15390,6 @@ "formdata-polyfill": "^4.0.10" } }, - "node-releases": { - "version": "2.0.13", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.13.tgz", - "integrity": "sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ==", - "dev": true - }, "normalize-package-data": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-3.0.3.tgz", @@ -17379,6 +15413,12 @@ } } }, + "normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true + }, "normalize-url": { "version": "8.0.0", "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-8.0.0.tgz", @@ -19432,6 +17472,12 @@ "boolbase": "^1.0.0" } }, + "object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "dev": true + }, "object-inspect": { "version": "1.12.3", "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz", @@ -19703,12 +17749,6 @@ "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", "dev": true }, - "picocolors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", - "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", - "dev": true - }, "picomatch": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", @@ -19721,6 +17761,12 @@ "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", "dev": true }, + "pirates": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.5.tgz", + "integrity": "sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ==", + "dev": true + }, "pkg-conf": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/pkg-conf/-/pkg-conf-2.1.0.tgz", @@ -19731,6 +17777,16 @@ "load-json-file": "^4.0.0" } }, + "postcss-load-config": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-3.1.4.tgz", + "integrity": "sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg==", + "dev": true, + "requires": { + "lilconfig": "^2.0.5", + "yaml": "^1.10.2" + } + }, "prelude-ls": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", @@ -19938,6 +17994,15 @@ "util-deprecate": "~1.0.1" } }, + "readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dev": true, + "requires": { + "picomatch": "^2.2.1" + } + }, "recheck": { "version": "4.4.5", "resolved": "https://registry.npmjs.org/recheck/-/recheck-4.4.5.tgz", @@ -19957,27 +18022,6 @@ "dev": true, "optional": true }, - "recheck-linux-x64": { - "version": "4.4.5", - "resolved": "https://registry.npmjs.org/recheck-linux-x64/-/recheck-linux-x64-4.4.5.tgz", - "integrity": "sha512-s8OVPCpiSGw+tLCxH3eei7Zp2AoL22kXqLmEtWXi0AnYNwfuTjZmeLn2aQjW8qhs8ZPSkxS7uRIRTeZqR5Fv/Q==", - "dev": true, - "optional": true - }, - "recheck-macos-x64": { - "version": "4.4.5", - "resolved": "https://registry.npmjs.org/recheck-macos-x64/-/recheck-macos-x64-4.4.5.tgz", - "integrity": "sha512-Ouup9JwwoKCDclt3Na8+/W2pVbt8FRpzjkDuyM32qTR2TOid1NI+P1GA6/VQAKEOjvaxgGjxhcP/WqAjN+EULA==", - "dev": true, - "optional": true - }, - "recheck-windows-x64": { - "version": "4.4.5", - "resolved": "https://registry.npmjs.org/recheck-windows-x64/-/recheck-windows-x64-4.4.5.tgz", - "integrity": "sha512-mkpzLHu9G9Ztjx8HssJh9k/Xm1d1d/4OoT7etHqFk+k1NGzISCRXBD22DqYF9w8+J4QEzTAoDf8icFt0IGhOEQ==", - "dev": true, - "optional": true - }, "redent": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/redent/-/redent-3.0.0.tgz", @@ -19997,36 +18041,6 @@ "esprima": "~4.0.0" } }, - "regenerate": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", - "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==", - "dev": true - }, - "regenerate-unicode-properties": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.0.tgz", - "integrity": "sha512-d1VudCLoIGitcU/hEg2QqvyGZQmdC0Lf8BqdOMXGFSvJP4bNV1+XqbPQeHHLD51Jh4QJJ225dlIFvY4Ly6MXmQ==", - "dev": true, - "requires": { - "regenerate": "^1.4.2" - } - }, - "regenerator-runtime": { - "version": "0.13.11", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz", - "integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==", - "dev": true - }, - "regenerator-transform": { - "version": "0.15.1", - "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.1.tgz", - "integrity": "sha512-knzmNAcuyxV+gQCufkYcvOqX/qIIfHLv0u5x79kRxuGojfYVky1f15TzZEu2Avte8QGepvUNTnLskf8E6X6Vyg==", - "dev": true, - "requires": { - "@babel/runtime": "^7.8.4" - } - }, "regexp.prototype.flags": { "version": "1.4.3", "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.4.3.tgz", @@ -20038,20 +18052,6 @@ "functions-have-names": "^1.2.2" } }, - "regexpu-core": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.3.2.tgz", - "integrity": "sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ==", - "dev": true, - "requires": { - "@babel/regjsgen": "^0.8.0", - "regenerate": "^1.4.2", - "regenerate-unicode-properties": "^10.1.0", - "regjsparser": "^0.9.1", - "unicode-match-property-ecmascript": "^2.0.0", - "unicode-match-property-value-ecmascript": "^2.1.0" - } - }, "registry-auth-token": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-5.0.1.tgz", @@ -20061,23 +18061,6 @@ "@pnpm/npm-conf": "^1.0.4" } }, - "regjsparser": { - "version": "0.9.1", - "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.9.1.tgz", - "integrity": "sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==", - "dev": true, - "requires": { - "jsesc": "~0.5.0" - }, - "dependencies": { - "jsesc": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", - "integrity": "sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==", - "dev": true - } - } - }, "require-directory": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", @@ -20543,10 +18526,41 @@ "dev": true }, "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true + "version": "0.8.0-beta.0", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.8.0-beta.0.tgz", + "integrity": "sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA==", + "dev": true, + "requires": { + "whatwg-url": "^7.0.0" + }, + "dependencies": { + "tr46": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-1.0.1.tgz", + "integrity": "sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA==", + "dev": true, + "requires": { + "punycode": "^2.1.0" + } + }, + "webidl-conversions": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz", + "integrity": "sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==", + "dev": true + }, + "whatwg-url": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-7.1.0.tgz", + "integrity": "sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==", + "dev": true, + "requires": { + "lodash.sortby": "^4.7.0", + "tr46": "^1.0.1", + "webidl-conversions": "^4.0.2" + } + } + } }, "spawn-error-forwarder": { "version": "1.0.0", @@ -20605,9 +18619,9 @@ }, "dependencies": { "readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", "dev": true, "requires": { "inherits": "^2.0.3", @@ -20737,6 +18751,37 @@ "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", "dev": true }, + "sucrase": { + "version": "3.32.0", + "resolved": "https://registry.npmjs.org/sucrase/-/sucrase-3.32.0.tgz", + "integrity": "sha512-ydQOU34rpSyj2TGyz4D2p8rbktIOZ8QY9s+DGLvFU1i5pWJE8vkpruCjGCMHsdXwnD7JDcS+noSwM/a7zyNFDQ==", + "dev": true, + "requires": { + "@jridgewell/gen-mapping": "^0.3.2", + "commander": "^4.0.0", + "glob": "7.1.6", + "lines-and-columns": "^1.1.6", + "mz": "^2.7.0", + "pirates": "^4.0.1", + "ts-interface-checker": "^0.1.9" + }, + "dependencies": { + "glob": { + "version": "7.1.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", + "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + } + } + }, "supports-color": { "version": "5.5.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", @@ -20870,10 +18915,28 @@ } } }, + "thenify": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz", + "integrity": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==", + "dev": true, + "requires": { + "any-promise": "^1.0.0" + } + }, + "thenify-all": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz", + "integrity": "sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==", + "dev": true, + "requires": { + "thenify": ">= 3.1.0 < 4" + } + }, "through": { "version": "2.3.8", "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", - "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", + "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==", "dev": true }, "titleize": { @@ -20882,12 +18945,6 @@ "integrity": "sha512-KxVu8EYHDPBdUYdKZdKtU2aj2XfEx9AfjXxE/Aj0vT06w2icA09Vus1rh6eSu1y01akYg6BjIK/hxyLJINoMLQ==", "dev": true }, - "to-fast-properties": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", - "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", - "dev": true - }, "to-regex-range": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", @@ -20903,12 +18960,59 @@ "integrity": "sha1-y99WD9e5r2MlAv7UD5GMFX6pcTc=", "dev": true }, + "tree-kill": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/tree-kill/-/tree-kill-1.2.2.tgz", + "integrity": "sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==", + "dev": true + }, "trim-newlines": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-3.0.1.tgz", "integrity": "sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==", "dev": true }, + "ts-expect": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/ts-expect/-/ts-expect-1.3.0.tgz", + "integrity": "sha512-e4g0EJtAjk64xgnFPD6kTBUtpnMVzDrMb12N1YZV0VvSlhnVT3SGxiYTLdGy8Q5cYHOIC/FAHmZ10eGrAguicQ==", + "dev": true + }, + "ts-interface-checker": { + "version": "0.1.13", + "resolved": "https://registry.npmjs.org/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz", + "integrity": "sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==", + "dev": true + }, + "ts-node": { + "version": "10.9.1", + "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.1.tgz", + "integrity": "sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==", + "dev": true, + "requires": { + "@cspotcode/source-map-support": "^0.8.0", + "@tsconfig/node10": "^1.0.7", + "@tsconfig/node12": "^1.0.7", + "@tsconfig/node14": "^1.0.0", + "@tsconfig/node16": "^1.0.2", + "acorn": "^8.4.1", + "acorn-walk": "^8.1.1", + "arg": "^4.1.0", + "create-require": "^1.1.0", + "diff": "^4.0.1", + "make-error": "^1.1.1", + "v8-compile-cache-lib": "^3.0.1", + "yn": "3.1.1" + }, + "dependencies": { + "diff": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", + "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", + "dev": true + } + } + }, "tsconfig-paths": { "version": "3.14.1", "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.14.1.tgz", @@ -20932,6 +19036,71 @@ } } }, + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true + }, + "tsup": { + "version": "6.7.0", + "resolved": "https://registry.npmjs.org/tsup/-/tsup-6.7.0.tgz", + "integrity": "sha512-L3o8hGkaHnu5TdJns+mCqFsDBo83bJ44rlK7e6VdanIvpea4ArPcU3swWGsLVbXak1PqQx/V+SSmFPujBK+zEQ==", + "dev": true, + "requires": { + "bundle-require": "^4.0.0", + "cac": "^6.7.12", + "chokidar": "^3.5.1", + "debug": "^4.3.1", + "esbuild": "^0.17.6", + "execa": "^5.0.0", + "globby": "^11.0.3", + "joycon": "^3.0.1", + "postcss-load-config": "^3.0.1", + "resolve-from": "^5.0.0", + "rollup": "^3.2.5", + "source-map": "0.8.0-beta.0", + "sucrase": "^3.20.3", + "tree-kill": "^1.2.2" + }, + "dependencies": { + "globby": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", + "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", + "dev": true, + "requires": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.2.9", + "ignore": "^5.2.0", + "merge2": "^1.4.1", + "slash": "^3.0.0" + } + }, + "resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "dev": true + }, + "slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true + } + } + }, + "tsutils": { + "version": "3.21.0", + "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz", + "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==", + "dev": true, + "requires": { + "tslib": "^1.8.1" + } + }, "type-check": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", @@ -20964,6 +19133,12 @@ "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=", "dev": true }, + "typescript": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.0.4.tgz", + "integrity": "sha512-cW9T5W9xY37cc+jfEnaUvX91foxtHkza3Nw3wkoF4sSlKn0MONdkdEndig/qPBWXNkmplh3NzayQzCiHM4/hqw==", + "dev": true + }, "uc.micro": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/uc.micro/-/uc.micro-1.0.6.tgz", @@ -20988,34 +19163,6 @@ "which-boxed-primitive": "^1.0.2" } }, - "unicode-canonical-property-names-ecmascript": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz", - "integrity": "sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==", - "dev": true - }, - "unicode-match-property-ecmascript": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz", - "integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==", - "dev": true, - "requires": { - "unicode-canonical-property-names-ecmascript": "^2.0.0", - "unicode-property-aliases-ecmascript": "^2.0.0" - } - }, - "unicode-match-property-value-ecmascript": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.1.0.tgz", - "integrity": "sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA==", - "dev": true - }, - "unicode-property-aliases-ecmascript": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz", - "integrity": "sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==", - "dev": true - }, "unique-string": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-3.0.0.tgz", @@ -21037,16 +19184,6 @@ "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", "dev": true }, - "update-browserslist-db": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.11.tgz", - "integrity": "sha512-dCwEFf0/oT85M1fHBg4F0jtLwJrutGoHSQXCh7u4o2t1drG+c0a9Flnqww6XUKSfQMPpJBRjU8d4RXB09qtvaA==", - "dev": true, - "requires": { - "escalade": "^3.1.1", - "picocolors": "^1.0.0" - } - }, "uri-js": { "version": "4.4.1", "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", @@ -21068,6 +19205,12 @@ "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", "dev": true }, + "v8-compile-cache-lib": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz", + "integrity": "sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==", + "dev": true + }, "validate-npm-package-license": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", @@ -21233,6 +19376,12 @@ "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", "dev": true }, + "yaml": { + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", + "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", + "dev": true + }, "yargs": { "version": "17.6.2", "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.6.2.tgz", @@ -21262,6 +19411,12 @@ "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", "dev": true }, + "yn": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", + "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==", + "dev": true + }, "yocto-queue": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", diff --git a/package.json b/package.json index 000055c6..9fa92149 100644 --- a/package.json +++ b/package.json @@ -7,6 +7,7 @@ "main": "./lib/marked.cjs", "module": "./lib/marked.esm.js", "browser": "./lib/marked.umd.js", + "types": "./lib/marked.d.ts", "bin": { "marked": "bin/marked.js" }, @@ -20,6 +21,7 @@ ], "exports": { ".": { + "types": "./lib/marked.d.ts", "import": "./lib/marked.esm.js", "default": "./lib/marked.cjs" }, @@ -43,17 +45,17 @@ "html" ], "devDependencies": { - "@babel/core": "^7.22.9", - "@babel/preset-env": "^7.22.9", "@markedjs/html-differ": "^4.0.2", - "@rollup/plugin-babel": "^6.0.3", "@semantic-release/commit-analyzer": "^10.0.1", "@semantic-release/git": "^10.0.1", "@semantic-release/github": "^9.0.4", "@semantic-release/npm": "^10.0.4", "@semantic-release/release-notes-generator": "^11.0.4", + "@typescript-eslint/eslint-plugin": "^5.59.9", + "@typescript-eslint/parser": "^5.59.9", "cheerio": "^1.0.0-rc.12", "commonmark": "0.30.0", + "cross-env": "^7.0.3", "eslint": "^8.45.0", "eslint-config-standard": "^17.1.0", "eslint-plugin-import": "^2.27.5", @@ -65,14 +67,17 @@ "markdown-it": "13.0.1", "node-fetch": "^3.3.1", "recheck": "^4.4.5", - "rollup": "^3.26.3", "semantic-release": "^21.0.7", "titleize": "^3.0.0", + "ts-expect": "^1.3.0", + "ts-node": "^10.9.1", + "tsup": "^6.7.0", + "typescript": "5.0.4", "uglify-js": "^3.17.4", "vuln-regex-detector": "^1.3.0" }, "scripts": { - "test": "jasmine --config=jasmine.json", + "test": "cross-env NODE_OPTIONS=--loader=ts-node/esm jasmine --config=jasmine.json", "test:all": "npm test && npm run test:lint", "test:unit": "npm test -- test/unit/**/*-spec.js", "test:specs": "npm test -- test/specs/**/*-spec.js", @@ -80,12 +85,13 @@ "test:redos": "node test/recheck.js > vuln.js", "test:update": "node test/update-specs.js", "rules": "node test/rules.js", - "bench": "npm run rollup && node test/bench.js", + "bench": "npm run build && node test/bench.js", "lint": "eslint --fix .", + "type-check": "tsc", "build:reset": "git checkout upstream/master lib/marked.cjs lib/marked.umd.js lib/marked.esm.js marked.min.js", - "build": "npm run rollup && npm run minify", + "build": "npm run type-check && tsup && npm run build:verify && npm run minify", "build:docs": "node build-docs.js", - "rollup": "rollup -c rollup.config.js", + "build:verify": "tsc --project tsconfig-type-test.json", "minify": "uglifyjs lib/marked.umd.js -cm --comments /Copyright/ -o marked.min.js" }, "engines": { diff --git a/rollup.config.js b/rollup.config.js deleted file mode 100644 index 10c5fa32..00000000 --- a/rollup.config.js +++ /dev/null @@ -1,52 +0,0 @@ -import babel from '@rollup/plugin-babel'; -import { defineConfig } from 'rollup'; -import fs from 'fs'; - -const pkg = JSON.parse(fs.readFileSync('./package.json')); -const version = process.env.SEMANTIC_RELEASE_NEXT_VERSION || pkg.version; - -console.log('building version:', version); - -const banner = `/** - * marked v${version} - a markdown parser - * Copyright (c) 2011-${new Date().getFullYear()}, Christopher Jeffrey. (MIT Licensed) - * https://github.com/markedjs/marked - */ - -/** - * DO NOT EDIT THIS FILE - * The code in this file is generated from files in ./src/ - */ -`; - -export default defineConfig([ - { - input: 'src/marked.js', - output: { - file: 'lib/marked.esm.js', - format: 'esm', - banner - } - }, - { - input: 'src/marked.js', - output: [{ - file: 'lib/marked.umd.js', - format: 'umd', - name: 'marked', - banner - }, - { - file: 'lib/marked.cjs', - format: 'cjs', - name: 'marked', - banner - }], - plugins: [ - babel({ - presets: [['@babel/preset-env', { loose: true }]], - babelHelpers: 'bundled' - }) - ] - } -]); diff --git a/src/Hooks.js b/src/Hooks.js deleted file mode 100644 index af4bb2fb..00000000 --- a/src/Hooks.js +++ /dev/null @@ -1,26 +0,0 @@ -import { defaults } from './defaults.js'; - -export class Hooks { - constructor(options) { - this.options = options || defaults; - } - - static passThroughHooks = new Set([ - 'preprocess', - 'postprocess' - ]); - - /** - * Process markdown before marked - */ - preprocess(markdown) { - return markdown; - } - - /** - * Process HTML after marked is finished - */ - postprocess(html) { - return html; - } -} diff --git a/src/Hooks.ts b/src/Hooks.ts new file mode 100644 index 00000000..0550b0d3 --- /dev/null +++ b/src/Hooks.ts @@ -0,0 +1,29 @@ +import { _defaults } from './defaults.ts'; +import type { MarkedOptions } from './MarkedOptions.ts'; + +export class _Hooks { + options: MarkedOptions; + + constructor(options?: MarkedOptions) { + this.options = options || _defaults; + } + + static passThroughHooks = new Set([ + 'preprocess', + 'postprocess' + ]); + + /** + * Process markdown before marked + */ + preprocess(markdown: string) { + return markdown; + } + + /** + * Process HTML after marked is finished + */ + postprocess(html: string | undefined) { + return html; + } +} diff --git a/src/Instance.js b/src/Instance.ts similarity index 68% rename from src/Instance.js rename to src/Instance.ts index b4e2bbee..172463c3 100644 --- a/src/Instance.js +++ b/src/Instance.ts @@ -1,49 +1,56 @@ -import { getDefaults } from './defaults.js'; -import { Lexer } from './Lexer.js'; -import { Parser } from './Parser.js'; -import { Hooks } from './Hooks.js'; -import { Renderer } from './Renderer.js'; -import { Tokenizer } from './Tokenizer.js'; -import { TextRenderer } from './TextRenderer.js'; -import { Slugger } from './Slugger.js'; +import { _getDefaults } from './defaults.js'; +import { _Lexer } from './Lexer.ts'; +import { _Parser } from './Parser.ts'; +import { _Hooks } from './Hooks.ts'; +import { _Renderer } from './Renderer.ts'; +import { _Tokenizer } from './Tokenizer.ts'; +import { _TextRenderer } from './TextRenderer.ts'; +import { _Slugger } from './Slugger.ts'; import { checkDeprecations, escape -} from './helpers.js'; +} from './helpers.ts'; +import type { MarkedExtension, MarkedOptions } from './MarkedOptions.ts'; +import type { Token, TokensList } from './Tokens.ts'; + +export type ResultCallback = (error: Error | null, parseResult?: string) => undefined | void; export class Marked { - defaults = getDefaults(); + defaults = _getDefaults(); options = this.setOptions; - parse = this.#parseMarkdown(Lexer.lex, Parser.parse); - parseInline = this.#parseMarkdown(Lexer.lexInline, Parser.parseInline); + parse = this.#parseMarkdown(_Lexer.lex, _Parser.parse); + parseInline = this.#parseMarkdown(_Lexer.lexInline, _Parser.parseInline); - Parser = Parser; - parser = Parser.parse; - Renderer = Renderer; - TextRenderer = TextRenderer; - Lexer = Lexer; - lexer = Lexer.lex; - Tokenizer = Tokenizer; - Slugger = Slugger; - Hooks = Hooks; + Parser = _Parser; + parser = _Parser.parse; + Renderer = _Renderer; + TextRenderer = _TextRenderer; + Lexer = _Lexer; + lexer = _Lexer.lex; + Tokenizer = _Tokenizer; + Slugger = _Slugger; + Hooks = _Hooks; - constructor(...args) { + constructor(...args: MarkedExtension[]) { this.use(...args); } - walkTokens(tokens, callback) { - let values = []; + /** + * Run callback for every token + */ + walkTokens
block. Useful for syntax highlighting.
+ */
+ langPrefix?: string | undefined;
+
+ /**
+ * Mangle autolinks ().
+ * @deprecated Deprecated in v5.0.0 use marked-mangle to mangle email addresses.
+ */
+ mangle?: boolean | undefined;
+
+ /**
+ * Conform to obscure parts of markdown.pl as much as possible. Don't fix any of the original markdown bugs or poor behavior.
+ */
+ pedantic?: boolean | undefined;
+
+ /**
+ * Type: object Default: new Renderer()
+ *
+ * An object containing functions to render tokens to HTML.
+ */
+ renderer?: RendererObject | undefined | null;
+
+ /**
+ * Sanitize the output. Ignore any HTML that has been input. If true, sanitize the HTML passed into markdownString with the sanitizer function.
+ * @deprecated Warning: This feature is deprecated and it should NOT be used as it cannot be considered secure. Instead use a sanitize library, like DOMPurify (recommended), sanitize-html or insane on the output HTML!
+ */
+ sanitize?: boolean | undefined;
+
+ /**
+ * Optionally sanitize found HTML with a sanitizer function.
+ * @deprecated A function to sanitize the HTML passed into markdownString.
+ */
+ sanitizer?: ((html: string) => string) | null;
+
+ /**
+ * Shows an HTML error message when rendering fails.
+ */
+ silent?: boolean | undefined;
+
+ /**
+ * Use smarter list behavior than the original markdown. May eventually be default with the old behavior moved into pedantic.
+ */
+ smartLists?: boolean | undefined;
+
+ /**
+ * Use "smart" typograhic punctuation for things like quotes and dashes.
+ * @deprecated Deprecated in v5.0.0 use marked-smartypants to use "smart" typographic punctuation for things like quotes and dashes.
+ */
+ smartypants?: boolean | undefined;
+
+ /**
+ * The tokenizer defines how to turn markdown text into tokens.
+ */
+ tokenizer?: TokenizerObject | undefined | null;
+
+ /**
+ * The walkTokens function gets called with every token.
+ * Child tokens are called before moving on to sibling tokens.
+ * Each token is passed by reference so updates are persisted when passed to the parser.
+ * The return value of the function is ignored.
+ */
+ walkTokens?: ((token: Token) => void | Promise) | undefined | null;
+ /**
+ * Generate closing slash for self-closing tags (
instead of
)
+ * @deprecated Deprecated in v5.0.0 use marked-xhtml to emit self-closing HTML tags for void elements (
,
, etc.) with a "/" as required by XHTML.
+ */
+ xhtml?: boolean | undefined;
+}
+
+export interface MarkedOptions extends Omit {
+ /**
+ * Type: object Default: new Renderer()
+ *
+ * An object containing functions to render tokens to HTML.
+ */
+ renderer?: Omit<_Renderer, 'constructor'> | undefined | null;
+
+ /**
+ * The tokenizer defines how to turn markdown text into tokens.
+ */
+ tokenizer?: Omit<_Tokenizer, 'constructor'> | undefined | null;
+
+ /**
+ * The walkTokens function gets called with every token.
+ * Child tokens are called before moving on to sibling tokens.
+ * Each token is passed by reference so updates are persisted when passed to the parser.
+ * The return value of the function is ignored.
+ */
+ walkTokens?: ((token: Token) => void | Promise | Array>) | undefined | null;
+
+ /**
+ * Add tokenizers and renderers to marked
+ */
+ extensions?:
+ | (TokenizerAndRendererExtension[] & {
+ renderers: Record string | false | undefined>,
+ childTokens: Record,
+ block: any[],
+ inline: any[],
+ startBlock: Array<(this: TokenizerThis, src: string) => number | void>,
+ startInline: Array<(this: TokenizerThis, src: string) => number | void>
+ })
+ | undefined | null;
+}
diff --git a/src/Parser.js b/src/Parser.ts
similarity index 80%
rename from src/Parser.js
rename to src/Parser.ts
index b1038aba..ca3187fd 100644
--- a/src/Parser.js
+++ b/src/Parser.ts
@@ -1,44 +1,50 @@
-import { Renderer } from './Renderer.js';
-import { TextRenderer } from './TextRenderer.js';
-import { Slugger } from './Slugger.js';
-import { defaults } from './defaults.js';
+import { _Renderer } from './Renderer.ts';
+import { _TextRenderer } from './TextRenderer.ts';
+import { _Slugger } from './Slugger.ts';
+import { _defaults } from './defaults.ts';
import {
unescape
-} from './helpers.js';
+} from './helpers.ts';
+import type { Token, Tokens } from './Tokens.ts';
+import type { MarkedOptions } from './MarkedOptions.ts';
/**
* Parsing & Compiling
*/
-export class Parser {
- constructor(options) {
- this.options = options || defaults;
- this.options.renderer = this.options.renderer || new Renderer();
+export class _Parser {
+ options: MarkedOptions;
+ renderer: _Renderer;
+ textRenderer: _TextRenderer;
+ slugger: _Slugger;
+ constructor(options?: MarkedOptions) {
+ this.options = options || _defaults;
+ this.options.renderer = this.options.renderer || new _Renderer();
this.renderer = this.options.renderer;
this.renderer.options = this.options;
- this.textRenderer = new TextRenderer();
- this.slugger = new Slugger();
+ this.textRenderer = new _TextRenderer();
+ this.slugger = new _Slugger();
}
/**
* Static Parse Method
*/
- static parse(tokens, options) {
- const parser = new Parser(options);
+ static parse(tokens: Token[], options?: MarkedOptions) {
+ const parser = new _Parser(options);
return parser.parse(tokens);
}
/**
* Static Parse Inline Method
*/
- static parseInline(tokens, options) {
- const parser = new Parser(options);
+ static parseInline(tokens: Token[], options?: MarkedOptions) {
+ const parser = new _Parser(options);
return parser.parseInline(tokens);
}
/**
* Parse Loop
*/
- parse(tokens, top = true) {
+ parse(tokens: Token[], top = true): string {
let out = '',
i,
j,
@@ -83,16 +89,16 @@ export class Parser {
}
case 'heading': {
out += this.renderer.heading(
- this.parseInline(token.tokens),
+ this.parseInline(token.tokens) as string,
token.depth,
- unescape(this.parseInline(token.tokens, this.textRenderer)),
+ unescape(this.parseInline(token.tokens, this.textRenderer) as string),
this.slugger);
continue;
}
case 'code': {
out += this.renderer.code(token.text,
token.lang,
- token.escaped);
+ !!token.escaped);
continue;
}
case 'table': {
@@ -103,7 +109,7 @@ export class Parser {
l2 = token.header.length;
for (j = 0; j < l2; j++) {
cell += this.renderer.tablecell(
- this.parseInline(token.header[j].tokens),
+ this.parseInline(token.header[j].tokens)!,
{ header: true, align: token.align[j] }
);
}
@@ -118,7 +124,7 @@ export class Parser {
l3 = row.length;
for (k = 0; k < l3; k++) {
cell += this.renderer.tablecell(
- this.parseInline(row[k].tokens),
+ this.parseInline(row[k].tokens)!,
{ header: false, align: token.align[k] }
);
}
@@ -129,7 +135,7 @@ export class Parser {
continue;
}
case 'blockquote': {
- body = this.parse(token.tokens);
+ body = this.parse(token.tokens)!;
out += this.renderer.blockquote(body);
continue;
}
@@ -147,7 +153,7 @@ export class Parser {
itemBody = '';
if (item.task) {
- checkbox = this.renderer.checkbox(checked);
+ checkbox = this.renderer.checkbox(!!checked);
if (loose) {
if (item.tokens.length > 0 && item.tokens[0].type === 'paragraph') {
item.tokens[0].text = checkbox + ' ' + item.tokens[0].text;
@@ -158,7 +164,7 @@ export class Parser {
item.tokens.unshift({
type: 'text',
text: checkbox
- });
+ } as Tokens.Text);
}
} else {
itemBody += checkbox;
@@ -166,7 +172,7 @@ export class Parser {
}
itemBody += this.parse(item.tokens, loose);
- body += this.renderer.listitem(itemBody, task, checked);
+ body += this.renderer.listitem(itemBody, task, !!checked);
}
out += this.renderer.list(body, ordered, start);
@@ -177,7 +183,7 @@ export class Parser {
continue;
}
case 'paragraph': {
- out += this.renderer.paragraph(this.parseInline(token.tokens));
+ out += this.renderer.paragraph(this.parseInline(token.tokens)!);
continue;
}
case 'text': {
@@ -186,7 +192,7 @@ export class Parser {
token = tokens[++i];
body += '\n' + (token.tokens ? this.parseInline(token.tokens) : token.text);
}
- out += top ? this.renderer.paragraph(body) : body;
+ out += top ? this.renderer.paragraph(body!) : body;
continue;
}
@@ -194,7 +200,7 @@ export class Parser {
const errMsg = 'Token with "' + token.type + '" type was not found.';
if (this.options.silent) {
console.error(errMsg);
- return;
+ return '';
} else {
throw new Error(errMsg);
}
@@ -208,7 +214,7 @@ export class Parser {
/**
* Parse Inline Tokens
*/
- parseInline(tokens, renderer) {
+ parseInline(tokens: Token[], renderer?: _Renderer | _TextRenderer): string {
renderer = renderer || this.renderer;
let out = '',
i,
@@ -238,7 +244,7 @@ export class Parser {
break;
}
case 'link': {
- out += renderer.link(token.href, token.title, this.parseInline(token.tokens, renderer));
+ out += renderer.link(token.href, token.title, this.parseInline(token.tokens, renderer)!);
break;
}
case 'image': {
@@ -246,11 +252,11 @@ export class Parser {
break;
}
case 'strong': {
- out += renderer.strong(this.parseInline(token.tokens, renderer));
+ out += renderer.strong(this.parseInline(token.tokens, renderer)!);
break;
}
case 'em': {
- out += renderer.em(this.parseInline(token.tokens, renderer));
+ out += renderer.em(this.parseInline(token.tokens, renderer)!);
break;
}
case 'codespan': {
@@ -262,7 +268,7 @@ export class Parser {
break;
}
case 'del': {
- out += renderer.del(this.parseInline(token.tokens, renderer));
+ out += renderer.del(this.parseInline(token.tokens, renderer)!);
break;
}
case 'text': {
@@ -273,7 +279,7 @@ export class Parser {
const errMsg = 'Token with "' + token.type + '" type was not found.';
if (this.options.silent) {
console.error(errMsg);
- return;
+ return '';
} else {
throw new Error(errMsg);
}
diff --git a/src/Renderer.js b/src/Renderer.ts
similarity index 65%
rename from src/Renderer.js
rename to src/Renderer.ts
index dccbb583..72df88ae 100644
--- a/src/Renderer.js
+++ b/src/Renderer.ts
@@ -1,19 +1,22 @@
-import { defaults } from './defaults.js';
+import { _defaults } from './defaults.ts';
import {
cleanUrl,
escape
-} from './helpers.js';
+} from './helpers.ts';
+import type { MarkedOptions } from './MarkedOptions.ts';
+import { Slugger } from './marked.ts';
/**
* Renderer
*/
-export class Renderer {
- constructor(options) {
- this.options = options || defaults;
+export class _Renderer {
+ options: MarkedOptions;
+ constructor(options?: MarkedOptions) {
+ this.options = options || _defaults;
}
- code(code, infostring, escaped) {
- const lang = (infostring || '').match(/\S*/)[0];
+ code(code: string, infostring: string | undefined, escaped: boolean): string {
+ const lang = (infostring || '').match(/\S*/)![0];
if (this.options.highlight) {
const out = this.options.highlight(code, lang);
if (out != null && out !== code) {
@@ -38,24 +41,15 @@ export class Renderer {
+ '
\n';
}
- /**
- * @param {string} quote
- */
- blockquote(quote) {
+ blockquote(quote: string): string {
return `\n${quote}\n`; } - html(html, block) { + html(html: string, block?: boolean) : string { return html; } - /** - * @param {string} text - * @param {string} level - * @param {string} raw - * @param {any} slugger - */ - heading(text, level, raw, slugger) { + heading(text: string, level: number, raw: string, slugger: Slugger): string { if (this.options.headerIds) { const id = this.options.headerPrefix + slugger.slug(raw); return `
${text}
\n`; } - /** - * @param {string} header - * @param {string} body - */ - table(header, body) { + table(header: string, body: string): string { if (body) body = `${body}`; return '${text}
`;
}
- br() {
+ br(): string {
return this.options.xhtml ? '${text}
`; + } + + return false; + }, + listitem(text, task, checked) { + if (task) return `