/******/ (function() { // webpackBootstrap /******/ var __webpack_modules__ = ({ /***/ 3331: /***/ (function(module) { "use strict"; var hasOwn = Object.prototype.hasOwnProperty; var toStr = Object.prototype.toString; var defineProperty = Object.defineProperty; var gOPD = Object.getOwnPropertyDescriptor; var isArray = function isArray(arr) { if (typeof Array.isArray === 'function') { return Array.isArray(arr); } return toStr.call(arr) === '[object Array]'; }; var isPlainObject = function isPlainObject(obj) { if (!obj || toStr.call(obj) !== '[object Object]') { return false; } var hasOwnConstructor = hasOwn.call(obj, 'constructor'); var hasIsPrototypeOf = obj.constructor && obj.constructor.prototype && hasOwn.call(obj.constructor.prototype, 'isPrototypeOf'); // Not own constructor property must be Object if (obj.constructor && !hasOwnConstructor && !hasIsPrototypeOf) { return false; } // Own properties are enumerated firstly, so to speed up, // if last one is own, then all properties are own. var key; for (key in obj) {/**/} return typeof key === 'undefined' || hasOwn.call(obj, key); }; // If name is '__proto__', and Object.defineProperty is available, define __proto__ as an own property on target var setProperty = function setProperty(target, options) { if (defineProperty && options.name === '__proto__') { defineProperty(target, options.name, { enumerable: true, configurable: true, value: options.newValue, writable: true }); } else { target[options.name] = options.newValue; } }; // Return undefined instead of __proto__ if '__proto__' is not an own property var getProperty = function getProperty(obj, name) { if (name === '__proto__') { if (!hasOwn.call(obj, name)) { return void 0; } else if (gOPD) { // In early versions of node, obj['__proto__'] is buggy when obj has // __proto__ as an own property. Object.getOwnPropertyDescriptor() works. return gOPD(obj, name).value; } } return obj[name]; }; module.exports = function extend() { var options, name, src, copy, copyIsArray, clone; var target = arguments[0]; var i = 1; var length = arguments.length; var deep = false; // Handle a deep copy situation if (typeof target === 'boolean') { deep = target; target = arguments[1] || {}; // skip the boolean and the target i = 2; } if (target == null || typeof target !== 'object' && typeof target !== 'function') { target = {}; } for (; i < length; ++i) { options = arguments[i]; // Only deal with non-null/undefined values if (options != null) { // Extend the base object for (name in options) { src = getProperty(target, name); copy = getProperty(options, name); // Prevent never-ending loop if (target !== copy) { // Recurse if we're merging plain objects or arrays if (deep && copy && (isPlainObject(copy) || (copyIsArray = isArray(copy)))) { if (copyIsArray) { copyIsArray = false; clone = src && isArray(src) ? src : []; } else { clone = src && isPlainObject(src) ? src : {}; } // Never move original objects, clone them setProperty(target, { name: name, newValue: extend(deep, clone, copy) }); // Don't bring in undefined values } else if (typeof copy !== 'undefined') { setProperty(target, { name: name, newValue: copy }); } } } } } // Return the modified object return target; }; /***/ }), /***/ 9761: /***/ (function(module, __unused_webpack_exports, __webpack_require__) { "use strict"; var reactIs = __webpack_require__(736); /** * Copyright 2015, Yahoo! Inc. * Copyrights licensed under the New BSD License. See the accompanying LICENSE file for terms. */ var REACT_STATICS = { childContextTypes: true, contextType: true, contextTypes: true, defaultProps: true, displayName: true, getDefaultProps: true, getDerivedStateFromError: true, getDerivedStateFromProps: true, mixins: true, propTypes: true, type: true }; var KNOWN_STATICS = { name: true, length: true, prototype: true, caller: true, callee: true, arguments: true, arity: true }; var FORWARD_REF_STATICS = { '$$typeof': true, render: true, defaultProps: true, displayName: true, propTypes: true }; var MEMO_STATICS = { '$$typeof': true, compare: true, defaultProps: true, displayName: true, propTypes: true, type: true }; var TYPE_STATICS = {}; TYPE_STATICS[reactIs.ForwardRef] = FORWARD_REF_STATICS; TYPE_STATICS[reactIs.Memo] = MEMO_STATICS; function getStatics(component) { // React v16.11 and below if (reactIs.isMemo(component)) { return MEMO_STATICS; } // React v16.12 and above return TYPE_STATICS[component['$$typeof']] || REACT_STATICS; } var defineProperty = Object.defineProperty; var getOwnPropertyNames = Object.getOwnPropertyNames; var getOwnPropertySymbols = Object.getOwnPropertySymbols; var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor; var getPrototypeOf = Object.getPrototypeOf; var objectPrototype = Object.prototype; function hoistNonReactStatics(targetComponent, sourceComponent, blacklist) { if (typeof sourceComponent !== 'string') { // don't hoist over string (html) components if (objectPrototype) { var inheritedComponent = getPrototypeOf(sourceComponent); if (inheritedComponent && inheritedComponent !== objectPrototype) { hoistNonReactStatics(targetComponent, inheritedComponent, blacklist); } } var keys = getOwnPropertyNames(sourceComponent); if (getOwnPropertySymbols) { keys = keys.concat(getOwnPropertySymbols(sourceComponent)); } var targetStatics = getStatics(targetComponent); var sourceStatics = getStatics(sourceComponent); for (var i = 0; i < keys.length; ++i) { var key = keys[i]; if (!KNOWN_STATICS[key] && !(blacklist && blacklist[key]) && !(sourceStatics && sourceStatics[key]) && !(targetStatics && targetStatics[key])) { var descriptor = getOwnPropertyDescriptor(sourceComponent, key); try { // Avoid failures from read-only properties defineProperty(targetComponent, key, descriptor); } catch (e) {} } } } return targetComponent; } module.exports = hoistNonReactStatics; /***/ }), /***/ 2072: /***/ (function(module) { // http://www.w3.org/TR/CSS21/grammar.html // https://github.com/visionmedia/css-parse/pull/49#issuecomment-30088027 var COMMENT_REGEX = /\/\*[^*]*\*+([^/*][^*]*\*+)*\//g; var NEWLINE_REGEX = /\n/g; var WHITESPACE_REGEX = /^\s*/; // declaration var PROPERTY_REGEX = /^(\*?[-#/*\\\w]+(\[[0-9a-z_-]+\])?)\s*/; var COLON_REGEX = /^:\s*/; var VALUE_REGEX = /^((?:'(?:\\'|.)*?'|"(?:\\"|.)*?"|\([^)]*?\)|[^};])+)/; var SEMICOLON_REGEX = /^[;\s]*/; // https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String/Trim#Polyfill var TRIM_REGEX = /^\s+|\s+$/g; // strings var NEWLINE = '\n'; var FORWARD_SLASH = '/'; var ASTERISK = '*'; var EMPTY_STRING = ''; // types var TYPE_COMMENT = 'comment'; var TYPE_DECLARATION = 'declaration'; /** * @param {String} style * @param {Object} [options] * @return {Object[]} * @throws {TypeError} * @throws {Error} */ module.exports = function (style, options) { if (typeof style !== 'string') { throw new TypeError('First argument must be a string'); } if (!style) return []; options = options || {}; /** * Positional. */ var lineno = 1; var column = 1; /** * Update lineno and column based on `str`. * * @param {String} str */ function updatePosition(str) { var lines = str.match(NEWLINE_REGEX); if (lines) lineno += lines.length; var i = str.lastIndexOf(NEWLINE); column = ~i ? str.length - i : column + str.length; } /** * Mark position and patch `node.position`. * * @return {Function} */ function position() { var start = { line: lineno, column: column }; return function (node) { node.position = new Position(start); whitespace(); return node; }; } /** * Store position information for a node. * * @constructor * @property {Object} start * @property {Object} end * @property {undefined|String} source */ function Position(start) { this.start = start; this.end = { line: lineno, column: column }; this.source = options.source; } /** * Non-enumerable source string. */ Position.prototype.content = style; var errorsList = []; /** * Error `msg`. * * @param {String} msg * @throws {Error} */ function error(msg) { var err = new Error(options.source + ':' + lineno + ':' + column + ': ' + msg); err.reason = msg; err.filename = options.source; err.line = lineno; err.column = column; err.source = style; if (options.silent) { errorsList.push(err); } else { throw err; } } /** * Match `re` and return captures. * * @param {RegExp} re * @return {undefined|Array} */ function match(re) { var m = re.exec(style); if (!m) return; var str = m[0]; updatePosition(str); style = style.slice(str.length); return m; } /** * Parse whitespace. */ function whitespace() { match(WHITESPACE_REGEX); } /** * Parse comments. * * @param {Object[]} [rules] * @return {Object[]} */ function comments(rules) { var c; rules = rules || []; while (c = comment()) { if (c !== false) { rules.push(c); } } return rules; } /** * Parse comment. * * @return {Object} * @throws {Error} */ function comment() { var pos = position(); if (FORWARD_SLASH != style.charAt(0) || ASTERISK != style.charAt(1)) return; var i = 2; while (EMPTY_STRING != style.charAt(i) && (ASTERISK != style.charAt(i) || FORWARD_SLASH != style.charAt(i + 1))) { ++i; } i += 2; if (EMPTY_STRING === style.charAt(i - 1)) { return error('End of comment missing'); } var str = style.slice(2, i - 2); column += 2; updatePosition(str); style = style.slice(i); column += 2; return pos({ type: TYPE_COMMENT, comment: str }); } /** * Parse declaration. * * @return {Object} * @throws {Error} */ function declaration() { var pos = position(); // prop var prop = match(PROPERTY_REGEX); if (!prop) return; comment(); // : if (!match(COLON_REGEX)) return error("property missing ':'"); // val var val = match(VALUE_REGEX); var ret = pos({ type: TYPE_DECLARATION, property: trim(prop[0].replace(COMMENT_REGEX, EMPTY_STRING)), value: val ? trim(val[0].replace(COMMENT_REGEX, EMPTY_STRING)) : EMPTY_STRING }); // ; match(SEMICOLON_REGEX); return ret; } /** * Parse declarations. * * @return {Object[]} */ function declarations() { var decls = []; comments(decls); // declarations var decl; while (decl = declaration()) { if (decl !== false) { decls.push(decl); comments(decls); } } return decls; } whitespace(); return declarations(); }; /** * Trim `str`. * * @param {String} str * @return {String} */ function trim(str) { return str ? str.replace(TRIM_REGEX, EMPTY_STRING) : EMPTY_STRING; } /***/ }), /***/ 1730: /***/ (function(module) { /*! * Determine if an object is a Buffer * * @author Feross Aboukhadijeh * @license MIT */ module.exports = function isBuffer(obj) { return obj != null && obj.constructor != null && typeof obj.constructor.isBuffer === 'function' && obj.constructor.isBuffer(obj); }; /***/ }), /***/ 4488: /***/ (function(module, __unused_webpack_exports, __webpack_require__) { "use strict"; /** * Copyright (c) 2013-present, Facebook, Inc. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */ var ReactPropTypesSecret = __webpack_require__(4202); function emptyFunction() {} function emptyFunctionWithReset() {} emptyFunctionWithReset.resetWarningCache = emptyFunction; module.exports = function () { function shim(props, propName, componentName, location, propFullName, secret) { if (secret === ReactPropTypesSecret) { // It is still safe when called from React. return; } var err = new Error('Calling PropTypes validators directly is not supported by the `prop-types` package. ' + 'Use PropTypes.checkPropTypes() to call them. ' + 'Read more at http://fb.me/use-check-prop-types'); err.name = 'Invariant Violation'; throw err; } ; shim.isRequired = shim; function getShim() { return shim; } ; // Important! // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`. var ReactPropTypes = { array: shim, bigint: shim, bool: shim, func: shim, number: shim, object: shim, string: shim, symbol: shim, any: shim, arrayOf: getShim, element: shim, elementType: shim, instanceOf: getShim, node: shim, objectOf: getShim, oneOf: getShim, oneOfType: getShim, shape: getShim, exact: getShim, checkPropTypes: emptyFunctionWithReset, resetWarningCache: emptyFunction }; ReactPropTypes.PropTypes = ReactPropTypes; return ReactPropTypes; }; /***/ }), /***/ 7897: /***/ (function(module, __unused_webpack_exports, __webpack_require__) { /** * Copyright (c) 2013-present, Facebook, Inc. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */ if (false) { var throwOnDirectAccess, ReactIs; } else { // By explicitly using `prop-types` you are opting into new production behavior. // http://fb.me/prop-types-in-prod module.exports = __webpack_require__(4488)(); } /***/ }), /***/ 4202: /***/ (function(module) { "use strict"; /** * Copyright (c) 2013-present, Facebook, Inc. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */ var ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED'; module.exports = ReactPropTypesSecret; /***/ }), /***/ 4883: /***/ (function(__unused_webpack_module, exports, __webpack_require__) { "use strict"; /** * @license React * react-dom.production.min.js * * Copyright (c) Facebook, Inc. and its affiliates. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */ /* Modernizr 3.0.0pre (Custom Build) | MIT */ var aa = __webpack_require__(7948), ca = __webpack_require__(1935); function p(a) { for (var b = "https://reactjs.org/docs/error-decoder.html?invariant=" + a, c = 1; c < arguments.length; c++) b += "&args[]=" + encodeURIComponent(arguments[c]); return "Minified React error #" + a + "; visit " + b + " for the full message or use the non-minified dev environment for full errors and additional helpful warnings."; } var da = new Set(), ea = {}; function fa(a, b) { ha(a, b); ha(a + "Capture", b); } function ha(a, b) { ea[a] = b; for (a = 0; a < b.length; a++) da.add(b[a]); } var ia = !("undefined" === typeof window || "undefined" === typeof window.document || "undefined" === typeof window.document.createElement), ja = Object.prototype.hasOwnProperty, ka = /^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/, la = {}, ma = {}; function oa(a) { if (ja.call(ma, a)) return !0; if (ja.call(la, a)) return !1; if (ka.test(a)) return ma[a] = !0; la[a] = !0; return !1; } function pa(a, b, c, d) { if (null !== c && 0 === c.type) return !1; switch (typeof b) { case "function": case "symbol": return !0; case "boolean": if (d) return !1; if (null !== c) return !c.acceptsBooleans; a = a.toLowerCase().slice(0, 5); return "data-" !== a && "aria-" !== a; default: return !1; } } function qa(a, b, c, d) { if (null === b || "undefined" === typeof b || pa(a, b, c, d)) return !0; if (d) return !1; if (null !== c) switch (c.type) { case 3: return !b; case 4: return !1 === b; case 5: return isNaN(b); case 6: return isNaN(b) || 1 > b; } return !1; } function v(a, b, c, d, e, f, g) { this.acceptsBooleans = 2 === b || 3 === b || 4 === b; this.attributeName = d; this.attributeNamespace = e; this.mustUseProperty = c; this.propertyName = a; this.type = b; this.sanitizeURL = f; this.removeEmptyString = g; } var z = {}; "children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function (a) { z[a] = new v(a, 0, !1, a, null, !1, !1); }); [["acceptCharset", "accept-charset"], ["className", "class"], ["htmlFor", "for"], ["httpEquiv", "http-equiv"]].forEach(function (a) { var b = a[0]; z[b] = new v(b, 1, !1, a[1], null, !1, !1); }); ["contentEditable", "draggable", "spellCheck", "value"].forEach(function (a) { z[a] = new v(a, 2, !1, a.toLowerCase(), null, !1, !1); }); ["autoReverse", "externalResourcesRequired", "focusable", "preserveAlpha"].forEach(function (a) { z[a] = new v(a, 2, !1, a, null, !1, !1); }); "allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach(function (a) { z[a] = new v(a, 3, !1, a.toLowerCase(), null, !1, !1); }); ["checked", "multiple", "muted", "selected"].forEach(function (a) { z[a] = new v(a, 3, !0, a, null, !1, !1); }); ["capture", "download"].forEach(function (a) { z[a] = new v(a, 4, !1, a, null, !1, !1); }); ["cols", "rows", "size", "span"].forEach(function (a) { z[a] = new v(a, 6, !1, a, null, !1, !1); }); ["rowSpan", "start"].forEach(function (a) { z[a] = new v(a, 5, !1, a.toLowerCase(), null, !1, !1); }); var ra = /[\-:]([a-z])/g; function sa(a) { return a[1].toUpperCase(); } "accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach(function (a) { var b = a.replace(ra, sa); z[b] = new v(b, 1, !1, a, null, !1, !1); }); "xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function (a) { var b = a.replace(ra, sa); z[b] = new v(b, 1, !1, a, "http://www.w3.org/1999/xlink", !1, !1); }); ["xml:base", "xml:lang", "xml:space"].forEach(function (a) { var b = a.replace(ra, sa); z[b] = new v(b, 1, !1, a, "http://www.w3.org/XML/1998/namespace", !1, !1); }); ["tabIndex", "crossOrigin"].forEach(function (a) { z[a] = new v(a, 1, !1, a.toLowerCase(), null, !1, !1); }); z.xlinkHref = new v("xlinkHref", 1, !1, "xlink:href", "http://www.w3.org/1999/xlink", !0, !1); ["src", "href", "action", "formAction"].forEach(function (a) { z[a] = new v(a, 1, !1, a.toLowerCase(), null, !0, !0); }); function ta(a, b, c, d) { var e = z.hasOwnProperty(b) ? z[b] : null; if (null !== e ? 0 !== e.type : d || !(2 < b.length) || "o" !== b[0] && "O" !== b[0] || "n" !== b[1] && "N" !== b[1]) qa(b, c, e, d) && (c = null), d || null === e ? oa(b) && (null === c ? a.removeAttribute(b) : a.setAttribute(b, "" + c)) : e.mustUseProperty ? a[e.propertyName] = null === c ? 3 === e.type ? !1 : "" : c : (b = e.attributeName, d = e.attributeNamespace, null === c ? a.removeAttribute(b) : (e = e.type, c = 3 === e || 4 === e && !0 === c ? "" : "" + c, d ? a.setAttributeNS(d, b, c) : a.setAttribute(b, c))); } var ua = aa.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED, va = Symbol.for("react.element"), wa = Symbol.for("react.portal"), ya = Symbol.for("react.fragment"), za = Symbol.for("react.strict_mode"), Aa = Symbol.for("react.profiler"), Ba = Symbol.for("react.provider"), Ca = Symbol.for("react.context"), Da = Symbol.for("react.forward_ref"), Ea = Symbol.for("react.suspense"), Fa = Symbol.for("react.suspense_list"), Ga = Symbol.for("react.memo"), Ha = Symbol.for("react.lazy"); Symbol.for("react.scope"); Symbol.for("react.debug_trace_mode"); var Ia = Symbol.for("react.offscreen"); Symbol.for("react.legacy_hidden"); Symbol.for("react.cache"); Symbol.for("react.tracing_marker"); var Ja = Symbol.iterator; function Ka(a) { if (null === a || "object" !== typeof a) return null; a = Ja && a[Ja] || a["@@iterator"]; return "function" === typeof a ? a : null; } var A = Object.assign, La; function Ma(a) { if (void 0 === La) try { throw Error(); } catch (c) { var b = c.stack.trim().match(/\n( *(at )?)/); La = b && b[1] || ""; } return "\n" + La + a; } var Na = !1; function Oa(a, b) { if (!a || Na) return ""; Na = !0; var c = Error.prepareStackTrace; Error.prepareStackTrace = void 0; try { if (b) { if (b = function b() { throw Error(); }, Object.defineProperty(b.prototype, "props", { set: function set() { throw Error(); } }), "object" === typeof Reflect && Reflect.construct) { try { Reflect.construct(b, []); } catch (l) { var d = l; } Reflect.construct(a, [], b); } else { try { b.call(); } catch (l) { d = l; } a.call(b.prototype); } } else { try { throw Error(); } catch (l) { d = l; } a(); } } catch (l) { if (l && d && "string" === typeof l.stack) { for (var e = l.stack.split("\n"), f = d.stack.split("\n"), g = e.length - 1, h = f.length - 1; 1 <= g && 0 <= h && e[g] !== f[h];) h--; for (; 1 <= g && 0 <= h; g--, h--) if (e[g] !== f[h]) { if (1 !== g || 1 !== h) { do if (g--, h--, 0 > h || e[g] !== f[h]) { var k = "\n" + e[g].replace(" at new ", " at "); a.displayName && k.includes("") && (k = k.replace("", a.displayName)); return k; } while (1 <= g && 0 <= h); } break; } } } finally { Na = !1, Error.prepareStackTrace = c; } return (a = a ? a.displayName || a.name : "") ? Ma(a) : ""; } function Pa(a) { switch (a.tag) { case 5: return Ma(a.type); case 16: return Ma("Lazy"); case 13: return Ma("Suspense"); case 19: return Ma("SuspenseList"); case 0: case 2: case 15: return a = Oa(a.type, !1), a; case 11: return a = Oa(a.type.render, !1), a; case 1: return a = Oa(a.type, !0), a; default: return ""; } } function Qa(a) { if (null == a) return null; if ("function" === typeof a) return a.displayName || a.name || null; if ("string" === typeof a) return a; switch (a) { case ya: return "Fragment"; case wa: return "Portal"; case Aa: return "Profiler"; case za: return "StrictMode"; case Ea: return "Suspense"; case Fa: return "SuspenseList"; } if ("object" === typeof a) switch (a.$$typeof) { case Ca: return (a.displayName || "Context") + ".Consumer"; case Ba: return (a._context.displayName || "Context") + ".Provider"; case Da: var b = a.render; a = a.displayName; a || (a = b.displayName || b.name || "", a = "" !== a ? "ForwardRef(" + a + ")" : "ForwardRef"); return a; case Ga: return b = a.displayName || null, null !== b ? b : Qa(a.type) || "Memo"; case Ha: b = a._payload; a = a._init; try { return Qa(a(b)); } catch (c) {} } return null; } function Ra(a) { var b = a.type; switch (a.tag) { case 24: return "Cache"; case 9: return (b.displayName || "Context") + ".Consumer"; case 10: return (b._context.displayName || "Context") + ".Provider"; case 18: return "DehydratedFragment"; case 11: return a = b.render, a = a.displayName || a.name || "", b.displayName || ("" !== a ? "ForwardRef(" + a + ")" : "ForwardRef"); case 7: return "Fragment"; case 5: return b; case 4: return "Portal"; case 3: return "Root"; case 6: return "Text"; case 16: return Qa(b); case 8: return b === za ? "StrictMode" : "Mode"; case 22: return "Offscreen"; case 12: return "Profiler"; case 21: return "Scope"; case 13: return "Suspense"; case 19: return "SuspenseList"; case 25: return "TracingMarker"; case 1: case 0: case 17: case 2: case 14: case 15: if ("function" === typeof b) return b.displayName || b.name || null; if ("string" === typeof b) return b; } return null; } function Sa(a) { switch (typeof a) { case "boolean": case "number": case "string": case "undefined": return a; case "object": return a; default: return ""; } } function Ta(a) { var b = a.type; return (a = a.nodeName) && "input" === a.toLowerCase() && ("checkbox" === b || "radio" === b); } function Ua(a) { var b = Ta(a) ? "checked" : "value", c = Object.getOwnPropertyDescriptor(a.constructor.prototype, b), d = "" + a[b]; if (!a.hasOwnProperty(b) && "undefined" !== typeof c && "function" === typeof c.get && "function" === typeof c.set) { var e = c.get, f = c.set; Object.defineProperty(a, b, { configurable: !0, get: function get() { return e.call(this); }, set: function set(a) { d = "" + a; f.call(this, a); } }); Object.defineProperty(a, b, { enumerable: c.enumerable }); return { getValue: function getValue() { return d; }, setValue: function setValue(a) { d = "" + a; }, stopTracking: function stopTracking() { a._valueTracker = null; delete a[b]; } }; } } function Va(a) { a._valueTracker || (a._valueTracker = Ua(a)); } function Wa(a) { if (!a) return !1; var b = a._valueTracker; if (!b) return !0; var c = b.getValue(); var d = ""; a && (d = Ta(a) ? a.checked ? "true" : "false" : a.value); a = d; return a !== c ? (b.setValue(a), !0) : !1; } function Xa(a) { a = a || ("undefined" !== typeof document ? document : void 0); if ("undefined" === typeof a) return null; try { return a.activeElement || a.body; } catch (b) { return a.body; } } function Ya(a, b) { var c = b.checked; return A({}, b, { defaultChecked: void 0, defaultValue: void 0, value: void 0, checked: null != c ? c : a._wrapperState.initialChecked }); } function Za(a, b) { var c = null == b.defaultValue ? "" : b.defaultValue, d = null != b.checked ? b.checked : b.defaultChecked; c = Sa(null != b.value ? b.value : c); a._wrapperState = { initialChecked: d, initialValue: c, controlled: "checkbox" === b.type || "radio" === b.type ? null != b.checked : null != b.value }; } function ab(a, b) { b = b.checked; null != b && ta(a, "checked", b, !1); } function bb(a, b) { ab(a, b); var c = Sa(b.value), d = b.type; if (null != c) { if ("number" === d) { if (0 === c && "" === a.value || a.value != c) a.value = "" + c; } else a.value !== "" + c && (a.value = "" + c); } else if ("submit" === d || "reset" === d) { a.removeAttribute("value"); return; } b.hasOwnProperty("value") ? cb(a, b.type, c) : b.hasOwnProperty("defaultValue") && cb(a, b.type, Sa(b.defaultValue)); null == b.checked && null != b.defaultChecked && (a.defaultChecked = !!b.defaultChecked); } function db(a, b, c) { if (b.hasOwnProperty("value") || b.hasOwnProperty("defaultValue")) { var d = b.type; if (!("submit" !== d && "reset" !== d || void 0 !== b.value && null !== b.value)) return; b = "" + a._wrapperState.initialValue; c || b === a.value || (a.value = b); a.defaultValue = b; } c = a.name; "" !== c && (a.name = ""); a.defaultChecked = !!a._wrapperState.initialChecked; "" !== c && (a.name = c); } function cb(a, b, c) { if ("number" !== b || Xa(a.ownerDocument) !== a) null == c ? a.defaultValue = "" + a._wrapperState.initialValue : a.defaultValue !== "" + c && (a.defaultValue = "" + c); } var eb = Array.isArray; function fb(a, b, c, d) { a = a.options; if (b) { b = {}; for (var e = 0; e < c.length; e++) b["$" + c[e]] = !0; for (c = 0; c < a.length; c++) e = b.hasOwnProperty("$" + a[c].value), a[c].selected !== e && (a[c].selected = e), e && d && (a[c].defaultSelected = !0); } else { c = "" + Sa(c); b = null; for (e = 0; e < a.length; e++) { if (a[e].value === c) { a[e].selected = !0; d && (a[e].defaultSelected = !0); return; } null !== b || a[e].disabled || (b = a[e]); } null !== b && (b.selected = !0); } } function gb(a, b) { if (null != b.dangerouslySetInnerHTML) throw Error(p(91)); return A({}, b, { value: void 0, defaultValue: void 0, children: "" + a._wrapperState.initialValue }); } function hb(a, b) { var c = b.value; if (null == c) { c = b.children; b = b.defaultValue; if (null != c) { if (null != b) throw Error(p(92)); if (eb(c)) { if (1 < c.length) throw Error(p(93)); c = c[0]; } b = c; } null == b && (b = ""); c = b; } a._wrapperState = { initialValue: Sa(c) }; } function ib(a, b) { var c = Sa(b.value), d = Sa(b.defaultValue); null != c && (c = "" + c, c !== a.value && (a.value = c), null == b.defaultValue && a.defaultValue !== c && (a.defaultValue = c)); null != d && (a.defaultValue = "" + d); } function jb(a) { var b = a.textContent; b === a._wrapperState.initialValue && "" !== b && null !== b && (a.value = b); } function kb(a) { switch (a) { case "svg": return "http://www.w3.org/2000/svg"; case "math": return "http://www.w3.org/1998/Math/MathML"; default: return "http://www.w3.org/1999/xhtml"; } } function lb(a, b) { return null == a || "http://www.w3.org/1999/xhtml" === a ? kb(b) : "http://www.w3.org/2000/svg" === a && "foreignObject" === b ? "http://www.w3.org/1999/xhtml" : a; } var mb, nb = function (a) { return "undefined" !== typeof MSApp && MSApp.execUnsafeLocalFunction ? function (b, c, d, e) { MSApp.execUnsafeLocalFunction(function () { return a(b, c, d, e); }); } : a; }(function (a, b) { if ("http://www.w3.org/2000/svg" !== a.namespaceURI || "innerHTML" in a) a.innerHTML = b;else { mb = mb || document.createElement("div"); mb.innerHTML = "" + b.valueOf().toString() + ""; for (b = mb.firstChild; a.firstChild;) a.removeChild(a.firstChild); for (; b.firstChild;) a.appendChild(b.firstChild); } }); function ob(a, b) { if (b) { var c = a.firstChild; if (c && c === a.lastChild && 3 === c.nodeType) { c.nodeValue = b; return; } } a.textContent = b; } var pb = { animationIterationCount: !0, aspectRatio: !0, borderImageOutset: !0, borderImageSlice: !0, borderImageWidth: !0, boxFlex: !0, boxFlexGroup: !0, boxOrdinalGroup: !0, columnCount: !0, columns: !0, flex: !0, flexGrow: !0, flexPositive: !0, flexShrink: !0, flexNegative: !0, flexOrder: !0, gridArea: !0, gridRow: !0, gridRowEnd: !0, gridRowSpan: !0, gridRowStart: !0, gridColumn: !0, gridColumnEnd: !0, gridColumnSpan: !0, gridColumnStart: !0, fontWeight: !0, lineClamp: !0, lineHeight: !0, opacity: !0, order: !0, orphans: !0, tabSize: !0, widows: !0, zIndex: !0, zoom: !0, fillOpacity: !0, floodOpacity: !0, stopOpacity: !0, strokeDasharray: !0, strokeDashoffset: !0, strokeMiterlimit: !0, strokeOpacity: !0, strokeWidth: !0 }, qb = ["Webkit", "ms", "Moz", "O"]; Object.keys(pb).forEach(function (a) { qb.forEach(function (b) { b = b + a.charAt(0).toUpperCase() + a.substring(1); pb[b] = pb[a]; }); }); function rb(a, b, c) { return null == b || "boolean" === typeof b || "" === b ? "" : c || "number" !== typeof b || 0 === b || pb.hasOwnProperty(a) && pb[a] ? ("" + b).trim() : b + "px"; } function sb(a, b) { a = a.style; for (var c in b) if (b.hasOwnProperty(c)) { var d = 0 === c.indexOf("--"), e = rb(c, b[c], d); "float" === c && (c = "cssFloat"); d ? a.setProperty(c, e) : a[c] = e; } } var tb = A({ menuitem: !0 }, { area: !0, base: !0, br: !0, col: !0, embed: !0, hr: !0, img: !0, input: !0, keygen: !0, link: !0, meta: !0, param: !0, source: !0, track: !0, wbr: !0 }); function ub(a, b) { if (b) { if (tb[a] && (null != b.children || null != b.dangerouslySetInnerHTML)) throw Error(p(137, a)); if (null != b.dangerouslySetInnerHTML) { if (null != b.children) throw Error(p(60)); if ("object" !== typeof b.dangerouslySetInnerHTML || !("__html" in b.dangerouslySetInnerHTML)) throw Error(p(61)); } if (null != b.style && "object" !== typeof b.style) throw Error(p(62)); } } function vb(a, b) { if (-1 === a.indexOf("-")) return "string" === typeof b.is; switch (a) { case "annotation-xml": case "color-profile": case "font-face": case "font-face-src": case "font-face-uri": case "font-face-format": case "font-face-name": case "missing-glyph": return !1; default: return !0; } } var wb = null; function xb(a) { a = a.target || a.srcElement || window; a.correspondingUseElement && (a = a.correspondingUseElement); return 3 === a.nodeType ? a.parentNode : a; } var yb = null, zb = null, Ab = null; function Bb(a) { if (a = Cb(a)) { if ("function" !== typeof yb) throw Error(p(280)); var b = a.stateNode; b && (b = Db(b), yb(a.stateNode, a.type, b)); } } function Eb(a) { zb ? Ab ? Ab.push(a) : Ab = [a] : zb = a; } function Fb() { if (zb) { var a = zb, b = Ab; Ab = zb = null; Bb(a); if (b) for (a = 0; a < b.length; a++) Bb(b[a]); } } function Gb(a, b) { return a(b); } function Hb() {} var Ib = !1; function Jb(a, b, c) { if (Ib) return a(b, c); Ib = !0; try { return Gb(a, b, c); } finally { if (Ib = !1, null !== zb || null !== Ab) Hb(), Fb(); } } function Kb(a, b) { var c = a.stateNode; if (null === c) return null; var d = Db(c); if (null === d) return null; c = d[b]; a: switch (b) { case "onClick": case "onClickCapture": case "onDoubleClick": case "onDoubleClickCapture": case "onMouseDown": case "onMouseDownCapture": case "onMouseMove": case "onMouseMoveCapture": case "onMouseUp": case "onMouseUpCapture": case "onMouseEnter": (d = !d.disabled) || (a = a.type, d = !("button" === a || "input" === a || "select" === a || "textarea" === a)); a = !d; break a; default: a = !1; } if (a) return null; if (c && "function" !== typeof c) throw Error(p(231, b, typeof c)); return c; } var Lb = !1; if (ia) try { var Mb = {}; Object.defineProperty(Mb, "passive", { get: function get() { Lb = !0; } }); window.addEventListener("test", Mb, Mb); window.removeEventListener("test", Mb, Mb); } catch (a) { Lb = !1; } function Nb(a, b, c, d, e, f, g, h, k) { var l = Array.prototype.slice.call(arguments, 3); try { b.apply(c, l); } catch (m) { this.onError(m); } } var Ob = !1, Pb = null, Qb = !1, Rb = null, Sb = { onError: function onError(a) { Ob = !0; Pb = a; } }; function Tb(a, b, c, d, e, f, g, h, k) { Ob = !1; Pb = null; Nb.apply(Sb, arguments); } function Ub(a, b, c, d, e, f, g, h, k) { Tb.apply(this, arguments); if (Ob) { if (Ob) { var l = Pb; Ob = !1; Pb = null; } else throw Error(p(198)); Qb || (Qb = !0, Rb = l); } } function Vb(a) { var b = a, c = a; if (a.alternate) for (; b.return;) b = b.return;else { a = b; do b = a, 0 !== (b.flags & 4098) && (c = b.return), a = b.return; while (a); } return 3 === b.tag ? c : null; } function Wb(a) { if (13 === a.tag) { var b = a.memoizedState; null === b && (a = a.alternate, null !== a && (b = a.memoizedState)); if (null !== b) return b.dehydrated; } return null; } function Xb(a) { if (Vb(a) !== a) throw Error(p(188)); } function Yb(a) { var b = a.alternate; if (!b) { b = Vb(a); if (null === b) throw Error(p(188)); return b !== a ? null : a; } for (var c = a, d = b;;) { var e = c.return; if (null === e) break; var f = e.alternate; if (null === f) { d = e.return; if (null !== d) { c = d; continue; } break; } if (e.child === f.child) { for (f = e.child; f;) { if (f === c) return Xb(e), a; if (f === d) return Xb(e), b; f = f.sibling; } throw Error(p(188)); } if (c.return !== d.return) c = e, d = f;else { for (var g = !1, h = e.child; h;) { if (h === c) { g = !0; c = e; d = f; break; } if (h === d) { g = !0; d = e; c = f; break; } h = h.sibling; } if (!g) { for (h = f.child; h;) { if (h === c) { g = !0; c = f; d = e; break; } if (h === d) { g = !0; d = f; c = e; break; } h = h.sibling; } if (!g) throw Error(p(189)); } } if (c.alternate !== d) throw Error(p(190)); } if (3 !== c.tag) throw Error(p(188)); return c.stateNode.current === c ? a : b; } function Zb(a) { a = Yb(a); return null !== a ? $b(a) : null; } function $b(a) { if (5 === a.tag || 6 === a.tag) return a; for (a = a.child; null !== a;) { var b = $b(a); if (null !== b) return b; a = a.sibling; } return null; } var ac = ca.unstable_scheduleCallback, bc = ca.unstable_cancelCallback, cc = ca.unstable_shouldYield, dc = ca.unstable_requestPaint, B = ca.unstable_now, ec = ca.unstable_getCurrentPriorityLevel, fc = ca.unstable_ImmediatePriority, gc = ca.unstable_UserBlockingPriority, hc = ca.unstable_NormalPriority, ic = ca.unstable_LowPriority, jc = ca.unstable_IdlePriority, kc = null, lc = null; function mc(a) { if (lc && "function" === typeof lc.onCommitFiberRoot) try { lc.onCommitFiberRoot(kc, a, void 0, 128 === (a.current.flags & 128)); } catch (b) {} } var oc = Math.clz32 ? Math.clz32 : nc, pc = Math.log, qc = Math.LN2; function nc(a) { a >>>= 0; return 0 === a ? 32 : 31 - (pc(a) / qc | 0) | 0; } var rc = 64, sc = 4194304; function tc(a) { switch (a & -a) { case 1: return 1; case 2: return 2; case 4: return 4; case 8: return 8; case 16: return 16; case 32: return 32; case 64: case 128: case 256: case 512: case 1024: case 2048: case 4096: case 8192: case 16384: case 32768: case 65536: case 131072: case 262144: case 524288: case 1048576: case 2097152: return a & 4194240; case 4194304: case 8388608: case 16777216: case 33554432: case 67108864: return a & 130023424; case 134217728: return 134217728; case 268435456: return 268435456; case 536870912: return 536870912; case 1073741824: return 1073741824; default: return a; } } function uc(a, b) { var c = a.pendingLanes; if (0 === c) return 0; var d = 0, e = a.suspendedLanes, f = a.pingedLanes, g = c & 268435455; if (0 !== g) { var h = g & ~e; 0 !== h ? d = tc(h) : (f &= g, 0 !== f && (d = tc(f))); } else g = c & ~e, 0 !== g ? d = tc(g) : 0 !== f && (d = tc(f)); if (0 === d) return 0; if (0 !== b && b !== d && 0 === (b & e) && (e = d & -d, f = b & -b, e >= f || 16 === e && 0 !== (f & 4194240))) return b; 0 !== (d & 4) && (d |= c & 16); b = a.entangledLanes; if (0 !== b) for (a = a.entanglements, b &= d; 0 < b;) c = 31 - oc(b), e = 1 << c, d |= a[c], b &= ~e; return d; } function vc(a, b) { switch (a) { case 1: case 2: case 4: return b + 250; case 8: case 16: case 32: case 64: case 128: case 256: case 512: case 1024: case 2048: case 4096: case 8192: case 16384: case 32768: case 65536: case 131072: case 262144: case 524288: case 1048576: case 2097152: return b + 5E3; case 4194304: case 8388608: case 16777216: case 33554432: case 67108864: return -1; case 134217728: case 268435456: case 536870912: case 1073741824: return -1; default: return -1; } } function wc(a, b) { for (var c = a.suspendedLanes, d = a.pingedLanes, e = a.expirationTimes, f = a.pendingLanes; 0 < f;) { var g = 31 - oc(f), h = 1 << g, k = e[g]; if (-1 === k) { if (0 === (h & c) || 0 !== (h & d)) e[g] = vc(h, b); } else k <= b && (a.expiredLanes |= h); f &= ~h; } } function xc(a) { a = a.pendingLanes & -1073741825; return 0 !== a ? a : a & 1073741824 ? 1073741824 : 0; } function yc() { var a = rc; rc <<= 1; 0 === (rc & 4194240) && (rc = 64); return a; } function zc(a) { for (var b = [], c = 0; 31 > c; c++) b.push(a); return b; } function Ac(a, b, c) { a.pendingLanes |= b; 536870912 !== b && (a.suspendedLanes = 0, a.pingedLanes = 0); a = a.eventTimes; b = 31 - oc(b); a[b] = c; } function Bc(a, b) { var c = a.pendingLanes & ~b; a.pendingLanes = b; a.suspendedLanes = 0; a.pingedLanes = 0; a.expiredLanes &= b; a.mutableReadLanes &= b; a.entangledLanes &= b; b = a.entanglements; var d = a.eventTimes; for (a = a.expirationTimes; 0 < c;) { var e = 31 - oc(c), f = 1 << e; b[e] = 0; d[e] = -1; a[e] = -1; c &= ~f; } } function Cc(a, b) { var c = a.entangledLanes |= b; for (a = a.entanglements; c;) { var d = 31 - oc(c), e = 1 << d; e & b | a[d] & b && (a[d] |= b); c &= ~e; } } var C = 0; function Dc(a) { a &= -a; return 1 < a ? 4 < a ? 0 !== (a & 268435455) ? 16 : 536870912 : 4 : 1; } var Ec, Fc, Gc, Hc, Ic, Jc = !1, Kc = [], Lc = null, Mc = null, Nc = null, Oc = new Map(), Pc = new Map(), Qc = [], Rc = "mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset submit".split(" "); function Sc(a, b) { switch (a) { case "focusin": case "focusout": Lc = null; break; case "dragenter": case "dragleave": Mc = null; break; case "mouseover": case "mouseout": Nc = null; break; case "pointerover": case "pointerout": Oc.delete(b.pointerId); break; case "gotpointercapture": case "lostpointercapture": Pc.delete(b.pointerId); } } function Tc(a, b, c, d, e, f) { if (null === a || a.nativeEvent !== f) return a = { blockedOn: b, domEventName: c, eventSystemFlags: d, nativeEvent: f, targetContainers: [e] }, null !== b && (b = Cb(b), null !== b && Fc(b)), a; a.eventSystemFlags |= d; b = a.targetContainers; null !== e && -1 === b.indexOf(e) && b.push(e); return a; } function Uc(a, b, c, d, e) { switch (b) { case "focusin": return Lc = Tc(Lc, a, b, c, d, e), !0; case "dragenter": return Mc = Tc(Mc, a, b, c, d, e), !0; case "mouseover": return Nc = Tc(Nc, a, b, c, d, e), !0; case "pointerover": var f = e.pointerId; Oc.set(f, Tc(Oc.get(f) || null, a, b, c, d, e)); return !0; case "gotpointercapture": return f = e.pointerId, Pc.set(f, Tc(Pc.get(f) || null, a, b, c, d, e)), !0; } return !1; } function Vc(a) { var b = Wc(a.target); if (null !== b) { var c = Vb(b); if (null !== c) if (b = c.tag, 13 === b) { if (b = Wb(c), null !== b) { a.blockedOn = b; Ic(a.priority, function () { Gc(c); }); return; } } else if (3 === b && c.stateNode.current.memoizedState.isDehydrated) { a.blockedOn = 3 === c.tag ? c.stateNode.containerInfo : null; return; } } a.blockedOn = null; } function Xc(a) { if (null !== a.blockedOn) return !1; for (var b = a.targetContainers; 0 < b.length;) { var c = Yc(a.domEventName, a.eventSystemFlags, b[0], a.nativeEvent); if (null === c) { c = a.nativeEvent; var d = new c.constructor(c.type, c); wb = d; c.target.dispatchEvent(d); wb = null; } else return b = Cb(c), null !== b && Fc(b), a.blockedOn = c, !1; b.shift(); } return !0; } function Zc(a, b, c) { Xc(a) && c.delete(b); } function $c() { Jc = !1; null !== Lc && Xc(Lc) && (Lc = null); null !== Mc && Xc(Mc) && (Mc = null); null !== Nc && Xc(Nc) && (Nc = null); Oc.forEach(Zc); Pc.forEach(Zc); } function ad(a, b) { a.blockedOn === b && (a.blockedOn = null, Jc || (Jc = !0, ca.unstable_scheduleCallback(ca.unstable_NormalPriority, $c))); } function bd(a) { function b(b) { return ad(b, a); } if (0 < Kc.length) { ad(Kc[0], a); for (var c = 1; c < Kc.length; c++) { var d = Kc[c]; d.blockedOn === a && (d.blockedOn = null); } } null !== Lc && ad(Lc, a); null !== Mc && ad(Mc, a); null !== Nc && ad(Nc, a); Oc.forEach(b); Pc.forEach(b); for (c = 0; c < Qc.length; c++) d = Qc[c], d.blockedOn === a && (d.blockedOn = null); for (; 0 < Qc.length && (c = Qc[0], null === c.blockedOn);) Vc(c), null === c.blockedOn && Qc.shift(); } var cd = ua.ReactCurrentBatchConfig, dd = !0; function ed(a, b, c, d) { var e = C, f = cd.transition; cd.transition = null; try { C = 1, fd(a, b, c, d); } finally { C = e, cd.transition = f; } } function gd(a, b, c, d) { var e = C, f = cd.transition; cd.transition = null; try { C = 4, fd(a, b, c, d); } finally { C = e, cd.transition = f; } } function fd(a, b, c, d) { if (dd) { var e = Yc(a, b, c, d); if (null === e) hd(a, b, d, id, c), Sc(a, d);else if (Uc(e, a, b, c, d)) d.stopPropagation();else if (Sc(a, d), b & 4 && -1 < Rc.indexOf(a)) { for (; null !== e;) { var f = Cb(e); null !== f && Ec(f); f = Yc(a, b, c, d); null === f && hd(a, b, d, id, c); if (f === e) break; e = f; } null !== e && d.stopPropagation(); } else hd(a, b, d, null, c); } } var id = null; function Yc(a, b, c, d) { id = null; a = xb(d); a = Wc(a); if (null !== a) if (b = Vb(a), null === b) a = null;else if (c = b.tag, 13 === c) { a = Wb(b); if (null !== a) return a; a = null; } else if (3 === c) { if (b.stateNode.current.memoizedState.isDehydrated) return 3 === b.tag ? b.stateNode.containerInfo : null; a = null; } else b !== a && (a = null); id = a; return null; } function jd(a) { switch (a) { case "cancel": case "click": case "close": case "contextmenu": case "copy": case "cut": case "auxclick": case "dblclick": case "dragend": case "dragstart": case "drop": case "focusin": case "focusout": case "input": case "invalid": case "keydown": case "keypress": case "keyup": case "mousedown": case "mouseup": case "paste": case "pause": case "play": case "pointercancel": case "pointerdown": case "pointerup": case "ratechange": case "reset": case "resize": case "seeked": case "submit": case "touchcancel": case "touchend": case "touchstart": case "volumechange": case "change": case "selectionchange": case "textInput": case "compositionstart": case "compositionend": case "compositionupdate": case "beforeblur": case "afterblur": case "beforeinput": case "blur": case "fullscreenchange": case "focus": case "hashchange": case "popstate": case "select": case "selectstart": return 1; case "drag": case "dragenter": case "dragexit": case "dragleave": case "dragover": case "mousemove": case "mouseout": case "mouseover": case "pointermove": case "pointerout": case "pointerover": case "scroll": case "toggle": case "touchmove": case "wheel": case "mouseenter": case "mouseleave": case "pointerenter": case "pointerleave": return 4; case "message": switch (ec()) { case fc: return 1; case gc: return 4; case hc: case ic: return 16; case jc: return 536870912; default: return 16; } default: return 16; } } var kd = null, ld = null, md = null; function nd() { if (md) return md; var a, b = ld, c = b.length, d, e = "value" in kd ? kd.value : kd.textContent, f = e.length; for (a = 0; a < c && b[a] === e[a]; a++); var g = c - a; for (d = 1; d <= g && b[c - d] === e[f - d]; d++); return md = e.slice(a, 1 < d ? 1 - d : void 0); } function od(a) { var b = a.keyCode; "charCode" in a ? (a = a.charCode, 0 === a && 13 === b && (a = 13)) : a = b; 10 === a && (a = 13); return 32 <= a || 13 === a ? a : 0; } function pd() { return !0; } function qd() { return !1; } function rd(a) { function b(b, d, e, f, g) { this._reactName = b; this._targetInst = e; this.type = d; this.nativeEvent = f; this.target = g; this.currentTarget = null; for (var c in a) a.hasOwnProperty(c) && (b = a[c], this[c] = b ? b(f) : f[c]); this.isDefaultPrevented = (null != f.defaultPrevented ? f.defaultPrevented : !1 === f.returnValue) ? pd : qd; this.isPropagationStopped = qd; return this; } A(b.prototype, { preventDefault: function preventDefault() { this.defaultPrevented = !0; var a = this.nativeEvent; a && (a.preventDefault ? a.preventDefault() : "unknown" !== typeof a.returnValue && (a.returnValue = !1), this.isDefaultPrevented = pd); }, stopPropagation: function stopPropagation() { var a = this.nativeEvent; a && (a.stopPropagation ? a.stopPropagation() : "unknown" !== typeof a.cancelBubble && (a.cancelBubble = !0), this.isPropagationStopped = pd); }, persist: function persist() {}, isPersistent: pd }); return b; } var sd = { eventPhase: 0, bubbles: 0, cancelable: 0, timeStamp: function timeStamp(a) { return a.timeStamp || Date.now(); }, defaultPrevented: 0, isTrusted: 0 }, td = rd(sd), ud = A({}, sd, { view: 0, detail: 0 }), vd = rd(ud), wd, xd, yd, Ad = A({}, ud, { screenX: 0, screenY: 0, clientX: 0, clientY: 0, pageX: 0, pageY: 0, ctrlKey: 0, shiftKey: 0, altKey: 0, metaKey: 0, getModifierState: zd, button: 0, buttons: 0, relatedTarget: function relatedTarget(a) { return void 0 === a.relatedTarget ? a.fromElement === a.srcElement ? a.toElement : a.fromElement : a.relatedTarget; }, movementX: function movementX(a) { if ("movementX" in a) return a.movementX; a !== yd && (yd && "mousemove" === a.type ? (wd = a.screenX - yd.screenX, xd = a.screenY - yd.screenY) : xd = wd = 0, yd = a); return wd; }, movementY: function movementY(a) { return "movementY" in a ? a.movementY : xd; } }), Bd = rd(Ad), Cd = A({}, Ad, { dataTransfer: 0 }), Dd = rd(Cd), Ed = A({}, ud, { relatedTarget: 0 }), Fd = rd(Ed), Gd = A({}, sd, { animationName: 0, elapsedTime: 0, pseudoElement: 0 }), Hd = rd(Gd), Id = A({}, sd, { clipboardData: function clipboardData(a) { return "clipboardData" in a ? a.clipboardData : window.clipboardData; } }), Jd = rd(Id), Kd = A({}, sd, { data: 0 }), Ld = rd(Kd), Md = { Esc: "Escape", Spacebar: " ", Left: "ArrowLeft", Up: "ArrowUp", Right: "ArrowRight", Down: "ArrowDown", Del: "Delete", Win: "OS", Menu: "ContextMenu", Apps: "ContextMenu", Scroll: "ScrollLock", MozPrintableKey: "Unidentified" }, Nd = { 8: "Backspace", 9: "Tab", 12: "Clear", 13: "Enter", 16: "Shift", 17: "Control", 18: "Alt", 19: "Pause", 20: "CapsLock", 27: "Escape", 32: " ", 33: "PageUp", 34: "PageDown", 35: "End", 36: "Home", 37: "ArrowLeft", 38: "ArrowUp", 39: "ArrowRight", 40: "ArrowDown", 45: "Insert", 46: "Delete", 112: "F1", 113: "F2", 114: "F3", 115: "F4", 116: "F5", 117: "F6", 118: "F7", 119: "F8", 120: "F9", 121: "F10", 122: "F11", 123: "F12", 144: "NumLock", 145: "ScrollLock", 224: "Meta" }, Od = { Alt: "altKey", Control: "ctrlKey", Meta: "metaKey", Shift: "shiftKey" }; function Pd(a) { var b = this.nativeEvent; return b.getModifierState ? b.getModifierState(a) : (a = Od[a]) ? !!b[a] : !1; } function zd() { return Pd; } var Qd = A({}, ud, { key: function key(a) { if (a.key) { var b = Md[a.key] || a.key; if ("Unidentified" !== b) return b; } return "keypress" === a.type ? (a = od(a), 13 === a ? "Enter" : String.fromCharCode(a)) : "keydown" === a.type || "keyup" === a.type ? Nd[a.keyCode] || "Unidentified" : ""; }, code: 0, location: 0, ctrlKey: 0, shiftKey: 0, altKey: 0, metaKey: 0, repeat: 0, locale: 0, getModifierState: zd, charCode: function charCode(a) { return "keypress" === a.type ? od(a) : 0; }, keyCode: function keyCode(a) { return "keydown" === a.type || "keyup" === a.type ? a.keyCode : 0; }, which: function which(a) { return "keypress" === a.type ? od(a) : "keydown" === a.type || "keyup" === a.type ? a.keyCode : 0; } }), Rd = rd(Qd), Sd = A({}, Ad, { pointerId: 0, width: 0, height: 0, pressure: 0, tangentialPressure: 0, tiltX: 0, tiltY: 0, twist: 0, pointerType: 0, isPrimary: 0 }), Td = rd(Sd), Ud = A({}, ud, { touches: 0, targetTouches: 0, changedTouches: 0, altKey: 0, metaKey: 0, ctrlKey: 0, shiftKey: 0, getModifierState: zd }), Vd = rd(Ud), Wd = A({}, sd, { propertyName: 0, elapsedTime: 0, pseudoElement: 0 }), Xd = rd(Wd), Yd = A({}, Ad, { deltaX: function deltaX(a) { return "deltaX" in a ? a.deltaX : "wheelDeltaX" in a ? -a.wheelDeltaX : 0; }, deltaY: function deltaY(a) { return "deltaY" in a ? a.deltaY : "wheelDeltaY" in a ? -a.wheelDeltaY : "wheelDelta" in a ? -a.wheelDelta : 0; }, deltaZ: 0, deltaMode: 0 }), Zd = rd(Yd), $d = [9, 13, 27, 32], ae = ia && "CompositionEvent" in window, be = null; ia && "documentMode" in document && (be = document.documentMode); var ce = ia && "TextEvent" in window && !be, de = ia && (!ae || be && 8 < be && 11 >= be), ee = String.fromCharCode(32), fe = !1; function ge(a, b) { switch (a) { case "keyup": return -1 !== $d.indexOf(b.keyCode); case "keydown": return 229 !== b.keyCode; case "keypress": case "mousedown": case "focusout": return !0; default: return !1; } } function he(a) { a = a.detail; return "object" === typeof a && "data" in a ? a.data : null; } var ie = !1; function je(a, b) { switch (a) { case "compositionend": return he(b); case "keypress": if (32 !== b.which) return null; fe = !0; return ee; case "textInput": return a = b.data, a === ee && fe ? null : a; default: return null; } } function ke(a, b) { if (ie) return "compositionend" === a || !ae && ge(a, b) ? (a = nd(), md = ld = kd = null, ie = !1, a) : null; switch (a) { case "paste": return null; case "keypress": if (!(b.ctrlKey || b.altKey || b.metaKey) || b.ctrlKey && b.altKey) { if (b.char && 1 < b.char.length) return b.char; if (b.which) return String.fromCharCode(b.which); } return null; case "compositionend": return de && "ko" !== b.locale ? null : b.data; default: return null; } } var le = { color: !0, date: !0, datetime: !0, "datetime-local": !0, email: !0, month: !0, number: !0, password: !0, range: !0, search: !0, tel: !0, text: !0, time: !0, url: !0, week: !0 }; function me(a) { var b = a && a.nodeName && a.nodeName.toLowerCase(); return "input" === b ? !!le[a.type] : "textarea" === b ? !0 : !1; } function ne(a, b, c, d) { Eb(d); b = oe(b, "onChange"); 0 < b.length && (c = new td("onChange", "change", null, c, d), a.push({ event: c, listeners: b })); } var pe = null, qe = null; function re(a) { se(a, 0); } function te(a) { var b = ue(a); if (Wa(b)) return a; } function ve(a, b) { if ("change" === a) return b; } var we = !1; if (ia) { var xe; if (ia) { var ye = ("oninput" in document); if (!ye) { var ze = document.createElement("div"); ze.setAttribute("oninput", "return;"); ye = "function" === typeof ze.oninput; } xe = ye; } else xe = !1; we = xe && (!document.documentMode || 9 < document.documentMode); } function Ae() { pe && (pe.detachEvent("onpropertychange", Be), qe = pe = null); } function Be(a) { if ("value" === a.propertyName && te(qe)) { var b = []; ne(b, qe, a, xb(a)); Jb(re, b); } } function Ce(a, b, c) { "focusin" === a ? (Ae(), pe = b, qe = c, pe.attachEvent("onpropertychange", Be)) : "focusout" === a && Ae(); } function De(a) { if ("selectionchange" === a || "keyup" === a || "keydown" === a) return te(qe); } function Ee(a, b) { if ("click" === a) return te(b); } function Fe(a, b) { if ("input" === a || "change" === a) return te(b); } function Ge(a, b) { return a === b && (0 !== a || 1 / a === 1 / b) || a !== a && b !== b; } var He = "function" === typeof Object.is ? Object.is : Ge; function Ie(a, b) { if (He(a, b)) return !0; if ("object" !== typeof a || null === a || "object" !== typeof b || null === b) return !1; var c = Object.keys(a), d = Object.keys(b); if (c.length !== d.length) return !1; for (d = 0; d < c.length; d++) { var e = c[d]; if (!ja.call(b, e) || !He(a[e], b[e])) return !1; } return !0; } function Je(a) { for (; a && a.firstChild;) a = a.firstChild; return a; } function Ke(a, b) { var c = Je(a); a = 0; for (var d; c;) { if (3 === c.nodeType) { d = a + c.textContent.length; if (a <= b && d >= b) return { node: c, offset: b - a }; a = d; } a: { for (; c;) { if (c.nextSibling) { c = c.nextSibling; break a; } c = c.parentNode; } c = void 0; } c = Je(c); } } function Le(a, b) { return a && b ? a === b ? !0 : a && 3 === a.nodeType ? !1 : b && 3 === b.nodeType ? Le(a, b.parentNode) : "contains" in a ? a.contains(b) : a.compareDocumentPosition ? !!(a.compareDocumentPosition(b) & 16) : !1 : !1; } function Me() { for (var a = window, b = Xa(); b instanceof a.HTMLIFrameElement;) { try { var c = "string" === typeof b.contentWindow.location.href; } catch (d) { c = !1; } if (c) a = b.contentWindow;else break; b = Xa(a.document); } return b; } function Ne(a) { var b = a && a.nodeName && a.nodeName.toLowerCase(); return b && ("input" === b && ("text" === a.type || "search" === a.type || "tel" === a.type || "url" === a.type || "password" === a.type) || "textarea" === b || "true" === a.contentEditable); } function Oe(a) { var b = Me(), c = a.focusedElem, d = a.selectionRange; if (b !== c && c && c.ownerDocument && Le(c.ownerDocument.documentElement, c)) { if (null !== d && Ne(c)) if (b = d.start, a = d.end, void 0 === a && (a = b), "selectionStart" in c) c.selectionStart = b, c.selectionEnd = Math.min(a, c.value.length);else if (a = (b = c.ownerDocument || document) && b.defaultView || window, a.getSelection) { a = a.getSelection(); var e = c.textContent.length, f = Math.min(d.start, e); d = void 0 === d.end ? f : Math.min(d.end, e); !a.extend && f > d && (e = d, d = f, f = e); e = Ke(c, f); var g = Ke(c, d); e && g && (1 !== a.rangeCount || a.anchorNode !== e.node || a.anchorOffset !== e.offset || a.focusNode !== g.node || a.focusOffset !== g.offset) && (b = b.createRange(), b.setStart(e.node, e.offset), a.removeAllRanges(), f > d ? (a.addRange(b), a.extend(g.node, g.offset)) : (b.setEnd(g.node, g.offset), a.addRange(b))); } b = []; for (a = c; a = a.parentNode;) 1 === a.nodeType && b.push({ element: a, left: a.scrollLeft, top: a.scrollTop }); "function" === typeof c.focus && c.focus(); for (c = 0; c < b.length; c++) a = b[c], a.element.scrollLeft = a.left, a.element.scrollTop = a.top; } } var Pe = ia && "documentMode" in document && 11 >= document.documentMode, Qe = null, Re = null, Se = null, Te = !1; function Ue(a, b, c) { var d = c.window === c ? c.document : 9 === c.nodeType ? c : c.ownerDocument; Te || null == Qe || Qe !== Xa(d) || (d = Qe, "selectionStart" in d && Ne(d) ? d = { start: d.selectionStart, end: d.selectionEnd } : (d = (d.ownerDocument && d.ownerDocument.defaultView || window).getSelection(), d = { anchorNode: d.anchorNode, anchorOffset: d.anchorOffset, focusNode: d.focusNode, focusOffset: d.focusOffset }), Se && Ie(Se, d) || (Se = d, d = oe(Re, "onSelect"), 0 < d.length && (b = new td("onSelect", "select", null, b, c), a.push({ event: b, listeners: d }), b.target = Qe))); } function Ve(a, b) { var c = {}; c[a.toLowerCase()] = b.toLowerCase(); c["Webkit" + a] = "webkit" + b; c["Moz" + a] = "moz" + b; return c; } var We = { animationend: Ve("Animation", "AnimationEnd"), animationiteration: Ve("Animation", "AnimationIteration"), animationstart: Ve("Animation", "AnimationStart"), transitionend: Ve("Transition", "TransitionEnd") }, Xe = {}, Ye = {}; ia && (Ye = document.createElement("div").style, "AnimationEvent" in window || (delete We.animationend.animation, delete We.animationiteration.animation, delete We.animationstart.animation), "TransitionEvent" in window || delete We.transitionend.transition); function Ze(a) { if (Xe[a]) return Xe[a]; if (!We[a]) return a; var b = We[a], c; for (c in b) if (b.hasOwnProperty(c) && c in Ye) return Xe[a] = b[c]; return a; } var $e = Ze("animationend"), af = Ze("animationiteration"), bf = Ze("animationstart"), cf = Ze("transitionend"), df = new Map(), ef = "abort auxClick cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll toggle touchMove waiting wheel".split(" "); function ff(a, b) { df.set(a, b); fa(b, [a]); } for (var gf = 0; gf < ef.length; gf++) { var hf = ef[gf], jf = hf.toLowerCase(), kf = hf[0].toUpperCase() + hf.slice(1); ff(jf, "on" + kf); } ff($e, "onAnimationEnd"); ff(af, "onAnimationIteration"); ff(bf, "onAnimationStart"); ff("dblclick", "onDoubleClick"); ff("focusin", "onFocus"); ff("focusout", "onBlur"); ff(cf, "onTransitionEnd"); ha("onMouseEnter", ["mouseout", "mouseover"]); ha("onMouseLeave", ["mouseout", "mouseover"]); ha("onPointerEnter", ["pointerout", "pointerover"]); ha("onPointerLeave", ["pointerout", "pointerover"]); fa("onChange", "change click focusin focusout input keydown keyup selectionchange".split(" ")); fa("onSelect", "focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange".split(" ")); fa("onBeforeInput", ["compositionend", "keypress", "textInput", "paste"]); fa("onCompositionEnd", "compositionend focusout keydown keypress keyup mousedown".split(" ")); fa("onCompositionStart", "compositionstart focusout keydown keypress keyup mousedown".split(" ")); fa("onCompositionUpdate", "compositionupdate focusout keydown keypress keyup mousedown".split(" ")); var lf = "abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange resize seeked seeking stalled suspend timeupdate volumechange waiting".split(" "), mf = new Set("cancel close invalid load scroll toggle".split(" ").concat(lf)); function nf(a, b, c) { var d = a.type || "unknown-event"; a.currentTarget = c; Ub(d, b, void 0, a); a.currentTarget = null; } function se(a, b) { b = 0 !== (b & 4); for (var c = 0; c < a.length; c++) { var d = a[c], e = d.event; d = d.listeners; a: { var f = void 0; if (b) for (var g = d.length - 1; 0 <= g; g--) { var h = d[g], k = h.instance, l = h.currentTarget; h = h.listener; if (k !== f && e.isPropagationStopped()) break a; nf(e, h, l); f = k; } else for (g = 0; g < d.length; g++) { h = d[g]; k = h.instance; l = h.currentTarget; h = h.listener; if (k !== f && e.isPropagationStopped()) break a; nf(e, h, l); f = k; } } } if (Qb) throw a = Rb, Qb = !1, Rb = null, a; } function D(a, b) { var c = b[of]; void 0 === c && (c = b[of] = new Set()); var d = a + "__bubble"; c.has(d) || (pf(b, a, 2, !1), c.add(d)); } function qf(a, b, c) { var d = 0; b && (d |= 4); pf(c, a, d, b); } var rf = "_reactListening" + Math.random().toString(36).slice(2); function sf(a) { if (!a[rf]) { a[rf] = !0; da.forEach(function (b) { "selectionchange" !== b && (mf.has(b) || qf(b, !1, a), qf(b, !0, a)); }); var b = 9 === a.nodeType ? a : a.ownerDocument; null === b || b[rf] || (b[rf] = !0, qf("selectionchange", !1, b)); } } function pf(a, b, c, d) { switch (jd(b)) { case 1: var e = ed; break; case 4: e = gd; break; default: e = fd; } c = e.bind(null, b, c, a); e = void 0; !Lb || "touchstart" !== b && "touchmove" !== b && "wheel" !== b || (e = !0); d ? void 0 !== e ? a.addEventListener(b, c, { capture: !0, passive: e }) : a.addEventListener(b, c, !0) : void 0 !== e ? a.addEventListener(b, c, { passive: e }) : a.addEventListener(b, c, !1); } function hd(a, b, c, d, e) { var f = d; if (0 === (b & 1) && 0 === (b & 2) && null !== d) a: for (;;) { if (null === d) return; var g = d.tag; if (3 === g || 4 === g) { var h = d.stateNode.containerInfo; if (h === e || 8 === h.nodeType && h.parentNode === e) break; if (4 === g) for (g = d.return; null !== g;) { var k = g.tag; if (3 === k || 4 === k) if (k = g.stateNode.containerInfo, k === e || 8 === k.nodeType && k.parentNode === e) return; g = g.return; } for (; null !== h;) { g = Wc(h); if (null === g) return; k = g.tag; if (5 === k || 6 === k) { d = f = g; continue a; } h = h.parentNode; } } d = d.return; } Jb(function () { var d = f, e = xb(c), g = []; a: { var h = df.get(a); if (void 0 !== h) { var k = td, n = a; switch (a) { case "keypress": if (0 === od(c)) break a; case "keydown": case "keyup": k = Rd; break; case "focusin": n = "focus"; k = Fd; break; case "focusout": n = "blur"; k = Fd; break; case "beforeblur": case "afterblur": k = Fd; break; case "click": if (2 === c.button) break a; case "auxclick": case "dblclick": case "mousedown": case "mousemove": case "mouseup": case "mouseout": case "mouseover": case "contextmenu": k = Bd; break; case "drag": case "dragend": case "dragenter": case "dragexit": case "dragleave": case "dragover": case "dragstart": case "drop": k = Dd; break; case "touchcancel": case "touchend": case "touchmove": case "touchstart": k = Vd; break; case $e: case af: case bf: k = Hd; break; case cf: k = Xd; break; case "scroll": k = vd; break; case "wheel": k = Zd; break; case "copy": case "cut": case "paste": k = Jd; break; case "gotpointercapture": case "lostpointercapture": case "pointercancel": case "pointerdown": case "pointermove": case "pointerout": case "pointerover": case "pointerup": k = Td; } var t = 0 !== (b & 4), J = !t && "scroll" === a, x = t ? null !== h ? h + "Capture" : null : h; t = []; for (var w = d, u; null !== w;) { u = w; var F = u.stateNode; 5 === u.tag && null !== F && (u = F, null !== x && (F = Kb(w, x), null != F && t.push(tf(w, F, u)))); if (J) break; w = w.return; } 0 < t.length && (h = new k(h, n, null, c, e), g.push({ event: h, listeners: t })); } } if (0 === (b & 7)) { a: { h = "mouseover" === a || "pointerover" === a; k = "mouseout" === a || "pointerout" === a; if (h && c !== wb && (n = c.relatedTarget || c.fromElement) && (Wc(n) || n[uf])) break a; if (k || h) { h = e.window === e ? e : (h = e.ownerDocument) ? h.defaultView || h.parentWindow : window; if (k) { if (n = c.relatedTarget || c.toElement, k = d, n = n ? Wc(n) : null, null !== n && (J = Vb(n), n !== J || 5 !== n.tag && 6 !== n.tag)) n = null; } else k = null, n = d; if (k !== n) { t = Bd; F = "onMouseLeave"; x = "onMouseEnter"; w = "mouse"; if ("pointerout" === a || "pointerover" === a) t = Td, F = "onPointerLeave", x = "onPointerEnter", w = "pointer"; J = null == k ? h : ue(k); u = null == n ? h : ue(n); h = new t(F, w + "leave", k, c, e); h.target = J; h.relatedTarget = u; F = null; Wc(e) === d && (t = new t(x, w + "enter", n, c, e), t.target = u, t.relatedTarget = J, F = t); J = F; if (k && n) b: { t = k; x = n; w = 0; for (u = t; u; u = vf(u)) w++; u = 0; for (F = x; F; F = vf(F)) u++; for (; 0 < w - u;) t = vf(t), w--; for (; 0 < u - w;) x = vf(x), u--; for (; w--;) { if (t === x || null !== x && t === x.alternate) break b; t = vf(t); x = vf(x); } t = null; } else t = null; null !== k && wf(g, h, k, t, !1); null !== n && null !== J && wf(g, J, n, t, !0); } } } a: { h = d ? ue(d) : window; k = h.nodeName && h.nodeName.toLowerCase(); if ("select" === k || "input" === k && "file" === h.type) var na = ve;else if (me(h)) { if (we) na = Fe;else { na = De; var xa = Ce; } } else (k = h.nodeName) && "input" === k.toLowerCase() && ("checkbox" === h.type || "radio" === h.type) && (na = Ee); if (na && (na = na(a, d))) { ne(g, na, c, e); break a; } xa && xa(a, h, d); "focusout" === a && (xa = h._wrapperState) && xa.controlled && "number" === h.type && cb(h, "number", h.value); } xa = d ? ue(d) : window; switch (a) { case "focusin": if (me(xa) || "true" === xa.contentEditable) Qe = xa, Re = d, Se = null; break; case "focusout": Se = Re = Qe = null; break; case "mousedown": Te = !0; break; case "contextmenu": case "mouseup": case "dragend": Te = !1; Ue(g, c, e); break; case "selectionchange": if (Pe) break; case "keydown": case "keyup": Ue(g, c, e); } var $a; if (ae) b: { switch (a) { case "compositionstart": var ba = "onCompositionStart"; break b; case "compositionend": ba = "onCompositionEnd"; break b; case "compositionupdate": ba = "onCompositionUpdate"; break b; } ba = void 0; } else ie ? ge(a, c) && (ba = "onCompositionEnd") : "keydown" === a && 229 === c.keyCode && (ba = "onCompositionStart"); ba && (de && "ko" !== c.locale && (ie || "onCompositionStart" !== ba ? "onCompositionEnd" === ba && ie && ($a = nd()) : (kd = e, ld = "value" in kd ? kd.value : kd.textContent, ie = !0)), xa = oe(d, ba), 0 < xa.length && (ba = new Ld(ba, a, null, c, e), g.push({ event: ba, listeners: xa }), $a ? ba.data = $a : ($a = he(c), null !== $a && (ba.data = $a)))); if ($a = ce ? je(a, c) : ke(a, c)) d = oe(d, "onBeforeInput"), 0 < d.length && (e = new Ld("onBeforeInput", "beforeinput", null, c, e), g.push({ event: e, listeners: d }), e.data = $a); } se(g, b); }); } function tf(a, b, c) { return { instance: a, listener: b, currentTarget: c }; } function oe(a, b) { for (var c = b + "Capture", d = []; null !== a;) { var e = a, f = e.stateNode; 5 === e.tag && null !== f && (e = f, f = Kb(a, c), null != f && d.unshift(tf(a, f, e)), f = Kb(a, b), null != f && d.push(tf(a, f, e))); a = a.return; } return d; } function vf(a) { if (null === a) return null; do a = a.return; while (a && 5 !== a.tag); return a ? a : null; } function wf(a, b, c, d, e) { for (var f = b._reactName, g = []; null !== c && c !== d;) { var h = c, k = h.alternate, l = h.stateNode; if (null !== k && k === d) break; 5 === h.tag && null !== l && (h = l, e ? (k = Kb(c, f), null != k && g.unshift(tf(c, k, h))) : e || (k = Kb(c, f), null != k && g.push(tf(c, k, h)))); c = c.return; } 0 !== g.length && a.push({ event: b, listeners: g }); } var xf = /\r\n?/g, yf = /\u0000|\uFFFD/g; function zf(a) { return ("string" === typeof a ? a : "" + a).replace(xf, "\n").replace(yf, ""); } function Af(a, b, c) { b = zf(b); if (zf(a) !== b && c) throw Error(p(425)); } function Bf() {} var Cf = null, Df = null; function Ef(a, b) { return "textarea" === a || "noscript" === a || "string" === typeof b.children || "number" === typeof b.children || "object" === typeof b.dangerouslySetInnerHTML && null !== b.dangerouslySetInnerHTML && null != b.dangerouslySetInnerHTML.__html; } var Ff = "function" === typeof setTimeout ? setTimeout : void 0, Gf = "function" === typeof clearTimeout ? clearTimeout : void 0, Hf = "function" === typeof Promise ? Promise : void 0, Jf = "function" === typeof queueMicrotask ? queueMicrotask : "undefined" !== typeof Hf ? function (a) { return Hf.resolve(null).then(a).catch(If); } : Ff; function If(a) { setTimeout(function () { throw a; }); } function Kf(a, b) { var c = b, d = 0; do { var e = c.nextSibling; a.removeChild(c); if (e && 8 === e.nodeType) if (c = e.data, "/$" === c) { if (0 === d) { a.removeChild(e); bd(b); return; } d--; } else "$" !== c && "$?" !== c && "$!" !== c || d++; c = e; } while (c); bd(b); } function Lf(a) { for (; null != a; a = a.nextSibling) { var b = a.nodeType; if (1 === b || 3 === b) break; if (8 === b) { b = a.data; if ("$" === b || "$!" === b || "$?" === b) break; if ("/$" === b) return null; } } return a; } function Mf(a) { a = a.previousSibling; for (var b = 0; a;) { if (8 === a.nodeType) { var c = a.data; if ("$" === c || "$!" === c || "$?" === c) { if (0 === b) return a; b--; } else "/$" === c && b++; } a = a.previousSibling; } return null; } var Nf = Math.random().toString(36).slice(2), Of = "__reactFiber$" + Nf, Pf = "__reactProps$" + Nf, uf = "__reactContainer$" + Nf, of = "__reactEvents$" + Nf, Qf = "__reactListeners$" + Nf, Rf = "__reactHandles$" + Nf; function Wc(a) { var b = a[Of]; if (b) return b; for (var c = a.parentNode; c;) { if (b = c[uf] || c[Of]) { c = b.alternate; if (null !== b.child || null !== c && null !== c.child) for (a = Mf(a); null !== a;) { if (c = a[Of]) return c; a = Mf(a); } return b; } a = c; c = a.parentNode; } return null; } function Cb(a) { a = a[Of] || a[uf]; return !a || 5 !== a.tag && 6 !== a.tag && 13 !== a.tag && 3 !== a.tag ? null : a; } function ue(a) { if (5 === a.tag || 6 === a.tag) return a.stateNode; throw Error(p(33)); } function Db(a) { return a[Pf] || null; } var Sf = [], Tf = -1; function Uf(a) { return { current: a }; } function E(a) { 0 > Tf || (a.current = Sf[Tf], Sf[Tf] = null, Tf--); } function G(a, b) { Tf++; Sf[Tf] = a.current; a.current = b; } var Vf = {}, H = Uf(Vf), Wf = Uf(!1), Xf = Vf; function Yf(a, b) { var c = a.type.contextTypes; if (!c) return Vf; var d = a.stateNode; if (d && d.__reactInternalMemoizedUnmaskedChildContext === b) return d.__reactInternalMemoizedMaskedChildContext; var e = {}, f; for (f in c) e[f] = b[f]; d && (a = a.stateNode, a.__reactInternalMemoizedUnmaskedChildContext = b, a.__reactInternalMemoizedMaskedChildContext = e); return e; } function Zf(a) { a = a.childContextTypes; return null !== a && void 0 !== a; } function $f() { E(Wf); E(H); } function ag(a, b, c) { if (H.current !== Vf) throw Error(p(168)); G(H, b); G(Wf, c); } function bg(a, b, c) { var d = a.stateNode; b = b.childContextTypes; if ("function" !== typeof d.getChildContext) return c; d = d.getChildContext(); for (var e in d) if (!(e in b)) throw Error(p(108, Ra(a) || "Unknown", e)); return A({}, c, d); } function cg(a) { a = (a = a.stateNode) && a.__reactInternalMemoizedMergedChildContext || Vf; Xf = H.current; G(H, a); G(Wf, Wf.current); return !0; } function dg(a, b, c) { var d = a.stateNode; if (!d) throw Error(p(169)); c ? (a = bg(a, b, Xf), d.__reactInternalMemoizedMergedChildContext = a, E(Wf), E(H), G(H, a)) : E(Wf); G(Wf, c); } var eg = null, fg = !1, gg = !1; function hg(a) { null === eg ? eg = [a] : eg.push(a); } function ig(a) { fg = !0; hg(a); } function jg() { if (!gg && null !== eg) { gg = !0; var a = 0, b = C; try { var c = eg; for (C = 1; a < c.length; a++) { var d = c[a]; do d = d(!0); while (null !== d); } eg = null; fg = !1; } catch (e) { throw null !== eg && (eg = eg.slice(a + 1)), ac(fc, jg), e; } finally { C = b, gg = !1; } } return null; } var kg = [], lg = 0, mg = null, ng = 0, og = [], pg = 0, qg = null, rg = 1, sg = ""; function tg(a, b) { kg[lg++] = ng; kg[lg++] = mg; mg = a; ng = b; } function ug(a, b, c) { og[pg++] = rg; og[pg++] = sg; og[pg++] = qg; qg = a; var d = rg; a = sg; var e = 32 - oc(d) - 1; d &= ~(1 << e); c += 1; var f = 32 - oc(b) + e; if (30 < f) { var g = e - e % 5; f = (d & (1 << g) - 1).toString(32); d >>= g; e -= g; rg = 1 << 32 - oc(b) + e | c << e | d; sg = f + a; } else rg = 1 << f | c << e | d, sg = a; } function vg(a) { null !== a.return && (tg(a, 1), ug(a, 1, 0)); } function wg(a) { for (; a === mg;) mg = kg[--lg], kg[lg] = null, ng = kg[--lg], kg[lg] = null; for (; a === qg;) qg = og[--pg], og[pg] = null, sg = og[--pg], og[pg] = null, rg = og[--pg], og[pg] = null; } var xg = null, yg = null, I = !1, zg = null; function Ag(a, b) { var c = Bg(5, null, null, 0); c.elementType = "DELETED"; c.stateNode = b; c.return = a; b = a.deletions; null === b ? (a.deletions = [c], a.flags |= 16) : b.push(c); } function Cg(a, b) { switch (a.tag) { case 5: var c = a.type; b = 1 !== b.nodeType || c.toLowerCase() !== b.nodeName.toLowerCase() ? null : b; return null !== b ? (a.stateNode = b, xg = a, yg = Lf(b.firstChild), !0) : !1; case 6: return b = "" === a.pendingProps || 3 !== b.nodeType ? null : b, null !== b ? (a.stateNode = b, xg = a, yg = null, !0) : !1; case 13: return b = 8 !== b.nodeType ? null : b, null !== b ? (c = null !== qg ? { id: rg, overflow: sg } : null, a.memoizedState = { dehydrated: b, treeContext: c, retryLane: 1073741824 }, c = Bg(18, null, null, 0), c.stateNode = b, c.return = a, a.child = c, xg = a, yg = null, !0) : !1; default: return !1; } } function Dg(a) { return 0 !== (a.mode & 1) && 0 === (a.flags & 128); } function Eg(a) { if (I) { var b = yg; if (b) { var c = b; if (!Cg(a, b)) { if (Dg(a)) throw Error(p(418)); b = Lf(c.nextSibling); var d = xg; b && Cg(a, b) ? Ag(d, c) : (a.flags = a.flags & -4097 | 2, I = !1, xg = a); } } else { if (Dg(a)) throw Error(p(418)); a.flags = a.flags & -4097 | 2; I = !1; xg = a; } } } function Fg(a) { for (a = a.return; null !== a && 5 !== a.tag && 3 !== a.tag && 13 !== a.tag;) a = a.return; xg = a; } function Gg(a) { if (a !== xg) return !1; if (!I) return Fg(a), I = !0, !1; var b; (b = 3 !== a.tag) && !(b = 5 !== a.tag) && (b = a.type, b = "head" !== b && "body" !== b && !Ef(a.type, a.memoizedProps)); if (b && (b = yg)) { if (Dg(a)) throw Hg(), Error(p(418)); for (; b;) Ag(a, b), b = Lf(b.nextSibling); } Fg(a); if (13 === a.tag) { a = a.memoizedState; a = null !== a ? a.dehydrated : null; if (!a) throw Error(p(317)); a: { a = a.nextSibling; for (b = 0; a;) { if (8 === a.nodeType) { var c = a.data; if ("/$" === c) { if (0 === b) { yg = Lf(a.nextSibling); break a; } b--; } else "$" !== c && "$!" !== c && "$?" !== c || b++; } a = a.nextSibling; } yg = null; } } else yg = xg ? Lf(a.stateNode.nextSibling) : null; return !0; } function Hg() { for (var a = yg; a;) a = Lf(a.nextSibling); } function Ig() { yg = xg = null; I = !1; } function Jg(a) { null === zg ? zg = [a] : zg.push(a); } var Kg = ua.ReactCurrentBatchConfig; function Lg(a, b) { if (a && a.defaultProps) { b = A({}, b); a = a.defaultProps; for (var c in a) void 0 === b[c] && (b[c] = a[c]); return b; } return b; } var Mg = Uf(null), Ng = null, Og = null, Pg = null; function Qg() { Pg = Og = Ng = null; } function Rg(a) { var b = Mg.current; E(Mg); a._currentValue = b; } function Sg(a, b, c) { for (; null !== a;) { var d = a.alternate; (a.childLanes & b) !== b ? (a.childLanes |= b, null !== d && (d.childLanes |= b)) : null !== d && (d.childLanes & b) !== b && (d.childLanes |= b); if (a === c) break; a = a.return; } } function Tg(a, b) { Ng = a; Pg = Og = null; a = a.dependencies; null !== a && null !== a.firstContext && (0 !== (a.lanes & b) && (Ug = !0), a.firstContext = null); } function Vg(a) { var b = a._currentValue; if (Pg !== a) if (a = { context: a, memoizedValue: b, next: null }, null === Og) { if (null === Ng) throw Error(p(308)); Og = a; Ng.dependencies = { lanes: 0, firstContext: a }; } else Og = Og.next = a; return b; } var Wg = null; function Xg(a) { null === Wg ? Wg = [a] : Wg.push(a); } function Yg(a, b, c, d) { var e = b.interleaved; null === e ? (c.next = c, Xg(b)) : (c.next = e.next, e.next = c); b.interleaved = c; return Zg(a, d); } function Zg(a, b) { a.lanes |= b; var c = a.alternate; null !== c && (c.lanes |= b); c = a; for (a = a.return; null !== a;) a.childLanes |= b, c = a.alternate, null !== c && (c.childLanes |= b), c = a, a = a.return; return 3 === c.tag ? c.stateNode : null; } var $g = !1; function ah(a) { a.updateQueue = { baseState: a.memoizedState, firstBaseUpdate: null, lastBaseUpdate: null, shared: { pending: null, interleaved: null, lanes: 0 }, effects: null }; } function bh(a, b) { a = a.updateQueue; b.updateQueue === a && (b.updateQueue = { baseState: a.baseState, firstBaseUpdate: a.firstBaseUpdate, lastBaseUpdate: a.lastBaseUpdate, shared: a.shared, effects: a.effects }); } function ch(a, b) { return { eventTime: a, lane: b, tag: 0, payload: null, callback: null, next: null }; } function dh(a, b, c) { var d = a.updateQueue; if (null === d) return null; d = d.shared; if (0 !== (K & 2)) { var e = d.pending; null === e ? b.next = b : (b.next = e.next, e.next = b); d.pending = b; return Zg(a, c); } e = d.interleaved; null === e ? (b.next = b, Xg(d)) : (b.next = e.next, e.next = b); d.interleaved = b; return Zg(a, c); } function eh(a, b, c) { b = b.updateQueue; if (null !== b && (b = b.shared, 0 !== (c & 4194240))) { var d = b.lanes; d &= a.pendingLanes; c |= d; b.lanes = c; Cc(a, c); } } function fh(a, b) { var c = a.updateQueue, d = a.alternate; if (null !== d && (d = d.updateQueue, c === d)) { var e = null, f = null; c = c.firstBaseUpdate; if (null !== c) { do { var g = { eventTime: c.eventTime, lane: c.lane, tag: c.tag, payload: c.payload, callback: c.callback, next: null }; null === f ? e = f = g : f = f.next = g; c = c.next; } while (null !== c); null === f ? e = f = b : f = f.next = b; } else e = f = b; c = { baseState: d.baseState, firstBaseUpdate: e, lastBaseUpdate: f, shared: d.shared, effects: d.effects }; a.updateQueue = c; return; } a = c.lastBaseUpdate; null === a ? c.firstBaseUpdate = b : a.next = b; c.lastBaseUpdate = b; } function gh(a, b, c, d) { var e = a.updateQueue; $g = !1; var f = e.firstBaseUpdate, g = e.lastBaseUpdate, h = e.shared.pending; if (null !== h) { e.shared.pending = null; var k = h, l = k.next; k.next = null; null === g ? f = l : g.next = l; g = k; var m = a.alternate; null !== m && (m = m.updateQueue, h = m.lastBaseUpdate, h !== g && (null === h ? m.firstBaseUpdate = l : h.next = l, m.lastBaseUpdate = k)); } if (null !== f) { var q = e.baseState; g = 0; m = l = k = null; h = f; do { var r = h.lane, y = h.eventTime; if ((d & r) === r) { null !== m && (m = m.next = { eventTime: y, lane: 0, tag: h.tag, payload: h.payload, callback: h.callback, next: null }); a: { var n = a, t = h; r = b; y = c; switch (t.tag) { case 1: n = t.payload; if ("function" === typeof n) { q = n.call(y, q, r); break a; } q = n; break a; case 3: n.flags = n.flags & -65537 | 128; case 0: n = t.payload; r = "function" === typeof n ? n.call(y, q, r) : n; if (null === r || void 0 === r) break a; q = A({}, q, r); break a; case 2: $g = !0; } } null !== h.callback && 0 !== h.lane && (a.flags |= 64, r = e.effects, null === r ? e.effects = [h] : r.push(h)); } else y = { eventTime: y, lane: r, tag: h.tag, payload: h.payload, callback: h.callback, next: null }, null === m ? (l = m = y, k = q) : m = m.next = y, g |= r; h = h.next; if (null === h) if (h = e.shared.pending, null === h) break;else r = h, h = r.next, r.next = null, e.lastBaseUpdate = r, e.shared.pending = null; } while (1); null === m && (k = q); e.baseState = k; e.firstBaseUpdate = l; e.lastBaseUpdate = m; b = e.shared.interleaved; if (null !== b) { e = b; do g |= e.lane, e = e.next; while (e !== b); } else null === f && (e.shared.lanes = 0); hh |= g; a.lanes = g; a.memoizedState = q; } } function ih(a, b, c) { a = b.effects; b.effects = null; if (null !== a) for (b = 0; b < a.length; b++) { var d = a[b], e = d.callback; if (null !== e) { d.callback = null; d = c; if ("function" !== typeof e) throw Error(p(191, e)); e.call(d); } } } var jh = new aa.Component().refs; function kh(a, b, c, d) { b = a.memoizedState; c = c(d, b); c = null === c || void 0 === c ? b : A({}, b, c); a.memoizedState = c; 0 === a.lanes && (a.updateQueue.baseState = c); } var nh = { isMounted: function isMounted(a) { return (a = a._reactInternals) ? Vb(a) === a : !1; }, enqueueSetState: function enqueueSetState(a, b, c) { a = a._reactInternals; var d = L(), e = lh(a), f = ch(d, e); f.payload = b; void 0 !== c && null !== c && (f.callback = c); b = dh(a, f, e); null !== b && (mh(b, a, e, d), eh(b, a, e)); }, enqueueReplaceState: function enqueueReplaceState(a, b, c) { a = a._reactInternals; var d = L(), e = lh(a), f = ch(d, e); f.tag = 1; f.payload = b; void 0 !== c && null !== c && (f.callback = c); b = dh(a, f, e); null !== b && (mh(b, a, e, d), eh(b, a, e)); }, enqueueForceUpdate: function enqueueForceUpdate(a, b) { a = a._reactInternals; var c = L(), d = lh(a), e = ch(c, d); e.tag = 2; void 0 !== b && null !== b && (e.callback = b); b = dh(a, e, d); null !== b && (mh(b, a, d, c), eh(b, a, d)); } }; function oh(a, b, c, d, e, f, g) { a = a.stateNode; return "function" === typeof a.shouldComponentUpdate ? a.shouldComponentUpdate(d, f, g) : b.prototype && b.prototype.isPureReactComponent ? !Ie(c, d) || !Ie(e, f) : !0; } function ph(a, b, c) { var d = !1, e = Vf; var f = b.contextType; "object" === typeof f && null !== f ? f = Vg(f) : (e = Zf(b) ? Xf : H.current, d = b.contextTypes, f = (d = null !== d && void 0 !== d) ? Yf(a, e) : Vf); b = new b(c, f); a.memoizedState = null !== b.state && void 0 !== b.state ? b.state : null; b.updater = nh; a.stateNode = b; b._reactInternals = a; d && (a = a.stateNode, a.__reactInternalMemoizedUnmaskedChildContext = e, a.__reactInternalMemoizedMaskedChildContext = f); return b; } function qh(a, b, c, d) { a = b.state; "function" === typeof b.componentWillReceiveProps && b.componentWillReceiveProps(c, d); "function" === typeof b.UNSAFE_componentWillReceiveProps && b.UNSAFE_componentWillReceiveProps(c, d); b.state !== a && nh.enqueueReplaceState(b, b.state, null); } function rh(a, b, c, d) { var e = a.stateNode; e.props = c; e.state = a.memoizedState; e.refs = jh; ah(a); var f = b.contextType; "object" === typeof f && null !== f ? e.context = Vg(f) : (f = Zf(b) ? Xf : H.current, e.context = Yf(a, f)); e.state = a.memoizedState; f = b.getDerivedStateFromProps; "function" === typeof f && (kh(a, b, f, c), e.state = a.memoizedState); "function" === typeof b.getDerivedStateFromProps || "function" === typeof e.getSnapshotBeforeUpdate || "function" !== typeof e.UNSAFE_componentWillMount && "function" !== typeof e.componentWillMount || (b = e.state, "function" === typeof e.componentWillMount && e.componentWillMount(), "function" === typeof e.UNSAFE_componentWillMount && e.UNSAFE_componentWillMount(), b !== e.state && nh.enqueueReplaceState(e, e.state, null), gh(a, c, e, d), e.state = a.memoizedState); "function" === typeof e.componentDidMount && (a.flags |= 4194308); } function sh(a, b, c) { a = c.ref; if (null !== a && "function" !== typeof a && "object" !== typeof a) { if (c._owner) { c = c._owner; if (c) { if (1 !== c.tag) throw Error(p(309)); var d = c.stateNode; } if (!d) throw Error(p(147, a)); var e = d, f = "" + a; if (null !== b && null !== b.ref && "function" === typeof b.ref && b.ref._stringRef === f) return b.ref; b = function b(a) { var b = e.refs; b === jh && (b = e.refs = {}); null === a ? delete b[f] : b[f] = a; }; b._stringRef = f; return b; } if ("string" !== typeof a) throw Error(p(284)); if (!c._owner) throw Error(p(290, a)); } return a; } function th(a, b) { a = Object.prototype.toString.call(b); throw Error(p(31, "[object Object]" === a ? "object with keys {" + Object.keys(b).join(", ") + "}" : a)); } function uh(a) { var b = a._init; return b(a._payload); } function vh(a) { function b(b, c) { if (a) { var d = b.deletions; null === d ? (b.deletions = [c], b.flags |= 16) : d.push(c); } } function c(c, d) { if (!a) return null; for (; null !== d;) b(c, d), d = d.sibling; return null; } function d(a, b) { for (a = new Map(); null !== b;) null !== b.key ? a.set(b.key, b) : a.set(b.index, b), b = b.sibling; return a; } function e(a, b) { a = wh(a, b); a.index = 0; a.sibling = null; return a; } function f(b, c, d) { b.index = d; if (!a) return b.flags |= 1048576, c; d = b.alternate; if (null !== d) return d = d.index, d < c ? (b.flags |= 2, c) : d; b.flags |= 2; return c; } function g(b) { a && null === b.alternate && (b.flags |= 2); return b; } function h(a, b, c, d) { if (null === b || 6 !== b.tag) return b = xh(c, a.mode, d), b.return = a, b; b = e(b, c); b.return = a; return b; } function k(a, b, c, d) { var f = c.type; if (f === ya) return m(a, b, c.props.children, d, c.key); if (null !== b && (b.elementType === f || "object" === typeof f && null !== f && f.$$typeof === Ha && uh(f) === b.type)) return d = e(b, c.props), d.ref = sh(a, b, c), d.return = a, d; d = yh(c.type, c.key, c.props, null, a.mode, d); d.ref = sh(a, b, c); d.return = a; return d; } function l(a, b, c, d) { if (null === b || 4 !== b.tag || b.stateNode.containerInfo !== c.containerInfo || b.stateNode.implementation !== c.implementation) return b = zh(c, a.mode, d), b.return = a, b; b = e(b, c.children || []); b.return = a; return b; } function m(a, b, c, d, f) { if (null === b || 7 !== b.tag) return b = Ah(c, a.mode, d, f), b.return = a, b; b = e(b, c); b.return = a; return b; } function q(a, b, c) { if ("string" === typeof b && "" !== b || "number" === typeof b) return b = xh("" + b, a.mode, c), b.return = a, b; if ("object" === typeof b && null !== b) { switch (b.$$typeof) { case va: return c = yh(b.type, b.key, b.props, null, a.mode, c), c.ref = sh(a, null, b), c.return = a, c; case wa: return b = zh(b, a.mode, c), b.return = a, b; case Ha: var d = b._init; return q(a, d(b._payload), c); } if (eb(b) || Ka(b)) return b = Ah(b, a.mode, c, null), b.return = a, b; th(a, b); } return null; } function r(a, b, c, d) { var e = null !== b ? b.key : null; if ("string" === typeof c && "" !== c || "number" === typeof c) return null !== e ? null : h(a, b, "" + c, d); if ("object" === typeof c && null !== c) { switch (c.$$typeof) { case va: return c.key === e ? k(a, b, c, d) : null; case wa: return c.key === e ? l(a, b, c, d) : null; case Ha: return e = c._init, r(a, b, e(c._payload), d); } if (eb(c) || Ka(c)) return null !== e ? null : m(a, b, c, d, null); th(a, c); } return null; } function y(a, b, c, d, e) { if ("string" === typeof d && "" !== d || "number" === typeof d) return a = a.get(c) || null, h(b, a, "" + d, e); if ("object" === typeof d && null !== d) { switch (d.$$typeof) { case va: return a = a.get(null === d.key ? c : d.key) || null, k(b, a, d, e); case wa: return a = a.get(null === d.key ? c : d.key) || null, l(b, a, d, e); case Ha: var f = d._init; return y(a, b, c, f(d._payload), e); } if (eb(d) || Ka(d)) return a = a.get(c) || null, m(b, a, d, e, null); th(b, d); } return null; } function n(e, g, h, k) { for (var l = null, m = null, u = g, w = g = 0, x = null; null !== u && w < h.length; w++) { u.index > w ? (x = u, u = null) : x = u.sibling; var n = r(e, u, h[w], k); if (null === n) { null === u && (u = x); break; } a && u && null === n.alternate && b(e, u); g = f(n, g, w); null === m ? l = n : m.sibling = n; m = n; u = x; } if (w === h.length) return c(e, u), I && tg(e, w), l; if (null === u) { for (; w < h.length; w++) u = q(e, h[w], k), null !== u && (g = f(u, g, w), null === m ? l = u : m.sibling = u, m = u); I && tg(e, w); return l; } for (u = d(e, u); w < h.length; w++) x = y(u, e, w, h[w], k), null !== x && (a && null !== x.alternate && u.delete(null === x.key ? w : x.key), g = f(x, g, w), null === m ? l = x : m.sibling = x, m = x); a && u.forEach(function (a) { return b(e, a); }); I && tg(e, w); return l; } function t(e, g, h, k) { var l = Ka(h); if ("function" !== typeof l) throw Error(p(150)); h = l.call(h); if (null == h) throw Error(p(151)); for (var u = l = null, m = g, w = g = 0, x = null, n = h.next(); null !== m && !n.done; w++, n = h.next()) { m.index > w ? (x = m, m = null) : x = m.sibling; var t = r(e, m, n.value, k); if (null === t) { null === m && (m = x); break; } a && m && null === t.alternate && b(e, m); g = f(t, g, w); null === u ? l = t : u.sibling = t; u = t; m = x; } if (n.done) return c(e, m), I && tg(e, w), l; if (null === m) { for (; !n.done; w++, n = h.next()) n = q(e, n.value, k), null !== n && (g = f(n, g, w), null === u ? l = n : u.sibling = n, u = n); I && tg(e, w); return l; } for (m = d(e, m); !n.done; w++, n = h.next()) n = y(m, e, w, n.value, k), null !== n && (a && null !== n.alternate && m.delete(null === n.key ? w : n.key), g = f(n, g, w), null === u ? l = n : u.sibling = n, u = n); a && m.forEach(function (a) { return b(e, a); }); I && tg(e, w); return l; } function J(a, d, f, h) { "object" === typeof f && null !== f && f.type === ya && null === f.key && (f = f.props.children); if ("object" === typeof f && null !== f) { switch (f.$$typeof) { case va: a: { for (var k = f.key, l = d; null !== l;) { if (l.key === k) { k = f.type; if (k === ya) { if (7 === l.tag) { c(a, l.sibling); d = e(l, f.props.children); d.return = a; a = d; break a; } } else if (l.elementType === k || "object" === typeof k && null !== k && k.$$typeof === Ha && uh(k) === l.type) { c(a, l.sibling); d = e(l, f.props); d.ref = sh(a, l, f); d.return = a; a = d; break a; } c(a, l); break; } else b(a, l); l = l.sibling; } f.type === ya ? (d = Ah(f.props.children, a.mode, h, f.key), d.return = a, a = d) : (h = yh(f.type, f.key, f.props, null, a.mode, h), h.ref = sh(a, d, f), h.return = a, a = h); } return g(a); case wa: a: { for (l = f.key; null !== d;) { if (d.key === l) { if (4 === d.tag && d.stateNode.containerInfo === f.containerInfo && d.stateNode.implementation === f.implementation) { c(a, d.sibling); d = e(d, f.children || []); d.return = a; a = d; break a; } else { c(a, d); break; } } else b(a, d); d = d.sibling; } d = zh(f, a.mode, h); d.return = a; a = d; } return g(a); case Ha: return l = f._init, J(a, d, l(f._payload), h); } if (eb(f)) return n(a, d, f, h); if (Ka(f)) return t(a, d, f, h); th(a, f); } return "string" === typeof f && "" !== f || "number" === typeof f ? (f = "" + f, null !== d && 6 === d.tag ? (c(a, d.sibling), d = e(d, f), d.return = a, a = d) : (c(a, d), d = xh(f, a.mode, h), d.return = a, a = d), g(a)) : c(a, d); } return J; } var Bh = vh(!0), Ch = vh(!1), Dh = {}, Eh = Uf(Dh), Fh = Uf(Dh), Gh = Uf(Dh); function Hh(a) { if (a === Dh) throw Error(p(174)); return a; } function Ih(a, b) { G(Gh, b); G(Fh, a); G(Eh, Dh); a = b.nodeType; switch (a) { case 9: case 11: b = (b = b.documentElement) ? b.namespaceURI : lb(null, ""); break; default: a = 8 === a ? b.parentNode : b, b = a.namespaceURI || null, a = a.tagName, b = lb(b, a); } E(Eh); G(Eh, b); } function Jh() { E(Eh); E(Fh); E(Gh); } function Kh(a) { Hh(Gh.current); var b = Hh(Eh.current); var c = lb(b, a.type); b !== c && (G(Fh, a), G(Eh, c)); } function Lh(a) { Fh.current === a && (E(Eh), E(Fh)); } var M = Uf(0); function Mh(a) { for (var b = a; null !== b;) { if (13 === b.tag) { var c = b.memoizedState; if (null !== c && (c = c.dehydrated, null === c || "$?" === c.data || "$!" === c.data)) return b; } else if (19 === b.tag && void 0 !== b.memoizedProps.revealOrder) { if (0 !== (b.flags & 128)) return b; } else if (null !== b.child) { b.child.return = b; b = b.child; continue; } if (b === a) break; for (; null === b.sibling;) { if (null === b.return || b.return === a) return null; b = b.return; } b.sibling.return = b.return; b = b.sibling; } return null; } var Nh = []; function Oh() { for (var a = 0; a < Nh.length; a++) Nh[a]._workInProgressVersionPrimary = null; Nh.length = 0; } var Ph = ua.ReactCurrentDispatcher, Qh = ua.ReactCurrentBatchConfig, Rh = 0, N = null, O = null, P = null, Sh = !1, Th = !1, Uh = 0, Vh = 0; function Q() { throw Error(p(321)); } function Wh(a, b) { if (null === b) return !1; for (var c = 0; c < b.length && c < a.length; c++) if (!He(a[c], b[c])) return !1; return !0; } function Xh(a, b, c, d, e, f) { Rh = f; N = b; b.memoizedState = null; b.updateQueue = null; b.lanes = 0; Ph.current = null === a || null === a.memoizedState ? Yh : Zh; a = c(d, e); if (Th) { f = 0; do { Th = !1; Uh = 0; if (25 <= f) throw Error(p(301)); f += 1; P = O = null; b.updateQueue = null; Ph.current = $h; a = c(d, e); } while (Th); } Ph.current = ai; b = null !== O && null !== O.next; Rh = 0; P = O = N = null; Sh = !1; if (b) throw Error(p(300)); return a; } function bi() { var a = 0 !== Uh; Uh = 0; return a; } function ci() { var a = { memoizedState: null, baseState: null, baseQueue: null, queue: null, next: null }; null === P ? N.memoizedState = P = a : P = P.next = a; return P; } function di() { if (null === O) { var a = N.alternate; a = null !== a ? a.memoizedState : null; } else a = O.next; var b = null === P ? N.memoizedState : P.next; if (null !== b) P = b, O = a;else { if (null === a) throw Error(p(310)); O = a; a = { memoizedState: O.memoizedState, baseState: O.baseState, baseQueue: O.baseQueue, queue: O.queue, next: null }; null === P ? N.memoizedState = P = a : P = P.next = a; } return P; } function ei(a, b) { return "function" === typeof b ? b(a) : b; } function fi(a) { var b = di(), c = b.queue; if (null === c) throw Error(p(311)); c.lastRenderedReducer = a; var d = O, e = d.baseQueue, f = c.pending; if (null !== f) { if (null !== e) { var g = e.next; e.next = f.next; f.next = g; } d.baseQueue = e = f; c.pending = null; } if (null !== e) { f = e.next; d = d.baseState; var h = g = null, k = null, l = f; do { var m = l.lane; if ((Rh & m) === m) null !== k && (k = k.next = { lane: 0, action: l.action, hasEagerState: l.hasEagerState, eagerState: l.eagerState, next: null }), d = l.hasEagerState ? l.eagerState : a(d, l.action);else { var q = { lane: m, action: l.action, hasEagerState: l.hasEagerState, eagerState: l.eagerState, next: null }; null === k ? (h = k = q, g = d) : k = k.next = q; N.lanes |= m; hh |= m; } l = l.next; } while (null !== l && l !== f); null === k ? g = d : k.next = h; He(d, b.memoizedState) || (Ug = !0); b.memoizedState = d; b.baseState = g; b.baseQueue = k; c.lastRenderedState = d; } a = c.interleaved; if (null !== a) { e = a; do f = e.lane, N.lanes |= f, hh |= f, e = e.next; while (e !== a); } else null === e && (c.lanes = 0); return [b.memoizedState, c.dispatch]; } function gi(a) { var b = di(), c = b.queue; if (null === c) throw Error(p(311)); c.lastRenderedReducer = a; var d = c.dispatch, e = c.pending, f = b.memoizedState; if (null !== e) { c.pending = null; var g = e = e.next; do f = a(f, g.action), g = g.next; while (g !== e); He(f, b.memoizedState) || (Ug = !0); b.memoizedState = f; null === b.baseQueue && (b.baseState = f); c.lastRenderedState = f; } return [f, d]; } function hi() {} function ii(a, b) { var c = N, d = di(), e = b(), f = !He(d.memoizedState, e); f && (d.memoizedState = e, Ug = !0); d = d.queue; ji(ki.bind(null, c, d, a), [a]); if (d.getSnapshot !== b || f || null !== P && P.memoizedState.tag & 1) { c.flags |= 2048; li(9, mi.bind(null, c, d, e, b), void 0, null); if (null === R) throw Error(p(349)); 0 !== (Rh & 30) || ni(c, b, e); } return e; } function ni(a, b, c) { a.flags |= 16384; a = { getSnapshot: b, value: c }; b = N.updateQueue; null === b ? (b = { lastEffect: null, stores: null }, N.updateQueue = b, b.stores = [a]) : (c = b.stores, null === c ? b.stores = [a] : c.push(a)); } function mi(a, b, c, d) { b.value = c; b.getSnapshot = d; oi(b) && pi(a); } function ki(a, b, c) { return c(function () { oi(b) && pi(a); }); } function oi(a) { var b = a.getSnapshot; a = a.value; try { var c = b(); return !He(a, c); } catch (d) { return !0; } } function pi(a) { var b = Zg(a, 1); null !== b && mh(b, a, 1, -1); } function qi(a) { var b = ci(); "function" === typeof a && (a = a()); b.memoizedState = b.baseState = a; a = { pending: null, interleaved: null, lanes: 0, dispatch: null, lastRenderedReducer: ei, lastRenderedState: a }; b.queue = a; a = a.dispatch = ri.bind(null, N, a); return [b.memoizedState, a]; } function li(a, b, c, d) { a = { tag: a, create: b, destroy: c, deps: d, next: null }; b = N.updateQueue; null === b ? (b = { lastEffect: null, stores: null }, N.updateQueue = b, b.lastEffect = a.next = a) : (c = b.lastEffect, null === c ? b.lastEffect = a.next = a : (d = c.next, c.next = a, a.next = d, b.lastEffect = a)); return a; } function si() { return di().memoizedState; } function ti(a, b, c, d) { var e = ci(); N.flags |= a; e.memoizedState = li(1 | b, c, void 0, void 0 === d ? null : d); } function ui(a, b, c, d) { var e = di(); d = void 0 === d ? null : d; var f = void 0; if (null !== O) { var g = O.memoizedState; f = g.destroy; if (null !== d && Wh(d, g.deps)) { e.memoizedState = li(b, c, f, d); return; } } N.flags |= a; e.memoizedState = li(1 | b, c, f, d); } function vi(a, b) { return ti(8390656, 8, a, b); } function ji(a, b) { return ui(2048, 8, a, b); } function wi(a, b) { return ui(4, 2, a, b); } function xi(a, b) { return ui(4, 4, a, b); } function yi(a, b) { if ("function" === typeof b) return a = a(), b(a), function () { b(null); }; if (null !== b && void 0 !== b) return a = a(), b.current = a, function () { b.current = null; }; } function zi(a, b, c) { c = null !== c && void 0 !== c ? c.concat([a]) : null; return ui(4, 4, yi.bind(null, b, a), c); } function Ai() {} function Bi(a, b) { var c = di(); b = void 0 === b ? null : b; var d = c.memoizedState; if (null !== d && null !== b && Wh(b, d[1])) return d[0]; c.memoizedState = [a, b]; return a; } function Ci(a, b) { var c = di(); b = void 0 === b ? null : b; var d = c.memoizedState; if (null !== d && null !== b && Wh(b, d[1])) return d[0]; a = a(); c.memoizedState = [a, b]; return a; } function Di(a, b, c) { if (0 === (Rh & 21)) return a.baseState && (a.baseState = !1, Ug = !0), a.memoizedState = c; He(c, b) || (c = yc(), N.lanes |= c, hh |= c, a.baseState = !0); return b; } function Ei(a, b) { var c = C; C = 0 !== c && 4 > c ? c : 4; a(!0); var d = Qh.transition; Qh.transition = {}; try { a(!1), b(); } finally { C = c, Qh.transition = d; } } function Fi() { return di().memoizedState; } function Gi(a, b, c) { var d = lh(a); c = { lane: d, action: c, hasEagerState: !1, eagerState: null, next: null }; if (Hi(a)) Ii(b, c);else if (c = Yg(a, b, c, d), null !== c) { var e = L(); mh(c, a, d, e); Ji(c, b, d); } } function ri(a, b, c) { var d = lh(a), e = { lane: d, action: c, hasEagerState: !1, eagerState: null, next: null }; if (Hi(a)) Ii(b, e);else { var f = a.alternate; if (0 === a.lanes && (null === f || 0 === f.lanes) && (f = b.lastRenderedReducer, null !== f)) try { var g = b.lastRenderedState, h = f(g, c); e.hasEagerState = !0; e.eagerState = h; if (He(h, g)) { var k = b.interleaved; null === k ? (e.next = e, Xg(b)) : (e.next = k.next, k.next = e); b.interleaved = e; return; } } catch (l) {} finally {} c = Yg(a, b, e, d); null !== c && (e = L(), mh(c, a, d, e), Ji(c, b, d)); } } function Hi(a) { var b = a.alternate; return a === N || null !== b && b === N; } function Ii(a, b) { Th = Sh = !0; var c = a.pending; null === c ? b.next = b : (b.next = c.next, c.next = b); a.pending = b; } function Ji(a, b, c) { if (0 !== (c & 4194240)) { var d = b.lanes; d &= a.pendingLanes; c |= d; b.lanes = c; Cc(a, c); } } var ai = { readContext: Vg, useCallback: Q, useContext: Q, useEffect: Q, useImperativeHandle: Q, useInsertionEffect: Q, useLayoutEffect: Q, useMemo: Q, useReducer: Q, useRef: Q, useState: Q, useDebugValue: Q, useDeferredValue: Q, useTransition: Q, useMutableSource: Q, useSyncExternalStore: Q, useId: Q, unstable_isNewReconciler: !1 }, Yh = { readContext: Vg, useCallback: function useCallback(a, b) { ci().memoizedState = [a, void 0 === b ? null : b]; return a; }, useContext: Vg, useEffect: vi, useImperativeHandle: function useImperativeHandle(a, b, c) { c = null !== c && void 0 !== c ? c.concat([a]) : null; return ti(4194308, 4, yi.bind(null, b, a), c); }, useLayoutEffect: function useLayoutEffect(a, b) { return ti(4194308, 4, a, b); }, useInsertionEffect: function useInsertionEffect(a, b) { return ti(4, 2, a, b); }, useMemo: function useMemo(a, b) { var c = ci(); b = void 0 === b ? null : b; a = a(); c.memoizedState = [a, b]; return a; }, useReducer: function useReducer(a, b, c) { var d = ci(); b = void 0 !== c ? c(b) : b; d.memoizedState = d.baseState = b; a = { pending: null, interleaved: null, lanes: 0, dispatch: null, lastRenderedReducer: a, lastRenderedState: b }; d.queue = a; a = a.dispatch = Gi.bind(null, N, a); return [d.memoizedState, a]; }, useRef: function useRef(a) { var b = ci(); a = { current: a }; return b.memoizedState = a; }, useState: qi, useDebugValue: Ai, useDeferredValue: function useDeferredValue(a) { return ci().memoizedState = a; }, useTransition: function useTransition() { var a = qi(!1), b = a[0]; a = Ei.bind(null, a[1]); ci().memoizedState = a; return [b, a]; }, useMutableSource: function useMutableSource() {}, useSyncExternalStore: function useSyncExternalStore(a, b, c) { var d = N, e = ci(); if (I) { if (void 0 === c) throw Error(p(407)); c = c(); } else { c = b(); if (null === R) throw Error(p(349)); 0 !== (Rh & 30) || ni(d, b, c); } e.memoizedState = c; var f = { value: c, getSnapshot: b }; e.queue = f; vi(ki.bind(null, d, f, a), [a]); d.flags |= 2048; li(9, mi.bind(null, d, f, c, b), void 0, null); return c; }, useId: function useId() { var a = ci(), b = R.identifierPrefix; if (I) { var c = sg; var d = rg; c = (d & ~(1 << 32 - oc(d) - 1)).toString(32) + c; b = ":" + b + "R" + c; c = Uh++; 0 < c && (b += "H" + c.toString(32)); b += ":"; } else c = Vh++, b = ":" + b + "r" + c.toString(32) + ":"; return a.memoizedState = b; }, unstable_isNewReconciler: !1 }, Zh = { readContext: Vg, useCallback: Bi, useContext: Vg, useEffect: ji, useImperativeHandle: zi, useInsertionEffect: wi, useLayoutEffect: xi, useMemo: Ci, useReducer: fi, useRef: si, useState: function useState() { return fi(ei); }, useDebugValue: Ai, useDeferredValue: function useDeferredValue(a) { var b = di(); return Di(b, O.memoizedState, a); }, useTransition: function useTransition() { var a = fi(ei)[0], b = di().memoizedState; return [a, b]; }, useMutableSource: hi, useSyncExternalStore: ii, useId: Fi, unstable_isNewReconciler: !1 }, $h = { readContext: Vg, useCallback: Bi, useContext: Vg, useEffect: ji, useImperativeHandle: zi, useInsertionEffect: wi, useLayoutEffect: xi, useMemo: Ci, useReducer: gi, useRef: si, useState: function useState() { return gi(ei); }, useDebugValue: Ai, useDeferredValue: function useDeferredValue(a) { var b = di(); return null === O ? b.memoizedState = a : Di(b, O.memoizedState, a); }, useTransition: function useTransition() { var a = gi(ei)[0], b = di().memoizedState; return [a, b]; }, useMutableSource: hi, useSyncExternalStore: ii, useId: Fi, unstable_isNewReconciler: !1 }; function Ki(a, b) { try { var c = "", d = b; do c += Pa(d), d = d.return; while (d); var e = c; } catch (f) { e = "\nError generating stack: " + f.message + "\n" + f.stack; } return { value: a, source: b, stack: e, digest: null }; } function Li(a, b, c) { return { value: a, source: null, stack: null != c ? c : null, digest: null != b ? b : null }; } function Mi(a, b) { try { console.error(b.value); } catch (c) { setTimeout(function () { throw c; }); } } var Ni = "function" === typeof WeakMap ? WeakMap : Map; function Oi(a, b, c) { c = ch(-1, c); c.tag = 3; c.payload = { element: null }; var d = b.value; c.callback = function () { Pi || (Pi = !0, Qi = d); Mi(a, b); }; return c; } function Ri(a, b, c) { c = ch(-1, c); c.tag = 3; var d = a.type.getDerivedStateFromError; if ("function" === typeof d) { var e = b.value; c.payload = function () { return d(e); }; c.callback = function () { Mi(a, b); }; } var f = a.stateNode; null !== f && "function" === typeof f.componentDidCatch && (c.callback = function () { Mi(a, b); "function" !== typeof d && (null === Si ? Si = new Set([this]) : Si.add(this)); var c = b.stack; this.componentDidCatch(b.value, { componentStack: null !== c ? c : "" }); }); return c; } function Ti(a, b, c) { var d = a.pingCache; if (null === d) { d = a.pingCache = new Ni(); var e = new Set(); d.set(b, e); } else e = d.get(b), void 0 === e && (e = new Set(), d.set(b, e)); e.has(c) || (e.add(c), a = Ui.bind(null, a, b, c), b.then(a, a)); } function Vi(a) { do { var b; if (b = 13 === a.tag) b = a.memoizedState, b = null !== b ? null !== b.dehydrated ? !0 : !1 : !0; if (b) return a; a = a.return; } while (null !== a); return null; } function Wi(a, b, c, d, e) { if (0 === (a.mode & 1)) return a === b ? a.flags |= 65536 : (a.flags |= 128, c.flags |= 131072, c.flags &= -52805, 1 === c.tag && (null === c.alternate ? c.tag = 17 : (b = ch(-1, 1), b.tag = 2, dh(c, b, 1))), c.lanes |= 1), a; a.flags |= 65536; a.lanes = e; return a; } var Xi = ua.ReactCurrentOwner, Ug = !1; function Yi(a, b, c, d) { b.child = null === a ? Ch(b, null, c, d) : Bh(b, a.child, c, d); } function Zi(a, b, c, d, e) { c = c.render; var f = b.ref; Tg(b, e); d = Xh(a, b, c, d, f, e); c = bi(); if (null !== a && !Ug) return b.updateQueue = a.updateQueue, b.flags &= -2053, a.lanes &= ~e, $i(a, b, e); I && c && vg(b); b.flags |= 1; Yi(a, b, d, e); return b.child; } function aj(a, b, c, d, e) { if (null === a) { var f = c.type; if ("function" === typeof f && !bj(f) && void 0 === f.defaultProps && null === c.compare && void 0 === c.defaultProps) return b.tag = 15, b.type = f, cj(a, b, f, d, e); a = yh(c.type, null, d, b, b.mode, e); a.ref = b.ref; a.return = b; return b.child = a; } f = a.child; if (0 === (a.lanes & e)) { var g = f.memoizedProps; c = c.compare; c = null !== c ? c : Ie; if (c(g, d) && a.ref === b.ref) return $i(a, b, e); } b.flags |= 1; a = wh(f, d); a.ref = b.ref; a.return = b; return b.child = a; } function cj(a, b, c, d, e) { if (null !== a) { var f = a.memoizedProps; if (Ie(f, d) && a.ref === b.ref) if (Ug = !1, b.pendingProps = d = f, 0 !== (a.lanes & e)) 0 !== (a.flags & 131072) && (Ug = !0);else return b.lanes = a.lanes, $i(a, b, e); } return dj(a, b, c, d, e); } function ej(a, b, c) { var d = b.pendingProps, e = d.children, f = null !== a ? a.memoizedState : null; if ("hidden" === d.mode) { if (0 === (b.mode & 1)) b.memoizedState = { baseLanes: 0, cachePool: null, transitions: null }, G(fj, gj), gj |= c;else { if (0 === (c & 1073741824)) return a = null !== f ? f.baseLanes | c : c, b.lanes = b.childLanes = 1073741824, b.memoizedState = { baseLanes: a, cachePool: null, transitions: null }, b.updateQueue = null, G(fj, gj), gj |= a, null; b.memoizedState = { baseLanes: 0, cachePool: null, transitions: null }; d = null !== f ? f.baseLanes : c; G(fj, gj); gj |= d; } } else null !== f ? (d = f.baseLanes | c, b.memoizedState = null) : d = c, G(fj, gj), gj |= d; Yi(a, b, e, c); return b.child; } function hj(a, b) { var c = b.ref; if (null === a && null !== c || null !== a && a.ref !== c) b.flags |= 512, b.flags |= 2097152; } function dj(a, b, c, d, e) { var f = Zf(c) ? Xf : H.current; f = Yf(b, f); Tg(b, e); c = Xh(a, b, c, d, f, e); d = bi(); if (null !== a && !Ug) return b.updateQueue = a.updateQueue, b.flags &= -2053, a.lanes &= ~e, $i(a, b, e); I && d && vg(b); b.flags |= 1; Yi(a, b, c, e); return b.child; } function ij(a, b, c, d, e) { if (Zf(c)) { var f = !0; cg(b); } else f = !1; Tg(b, e); if (null === b.stateNode) jj(a, b), ph(b, c, d), rh(b, c, d, e), d = !0;else if (null === a) { var g = b.stateNode, h = b.memoizedProps; g.props = h; var k = g.context, l = c.contextType; "object" === typeof l && null !== l ? l = Vg(l) : (l = Zf(c) ? Xf : H.current, l = Yf(b, l)); var m = c.getDerivedStateFromProps, q = "function" === typeof m || "function" === typeof g.getSnapshotBeforeUpdate; q || "function" !== typeof g.UNSAFE_componentWillReceiveProps && "function" !== typeof g.componentWillReceiveProps || (h !== d || k !== l) && qh(b, g, d, l); $g = !1; var r = b.memoizedState; g.state = r; gh(b, d, g, e); k = b.memoizedState; h !== d || r !== k || Wf.current || $g ? ("function" === typeof m && (kh(b, c, m, d), k = b.memoizedState), (h = $g || oh(b, c, h, d, r, k, l)) ? (q || "function" !== typeof g.UNSAFE_componentWillMount && "function" !== typeof g.componentWillMount || ("function" === typeof g.componentWillMount && g.componentWillMount(), "function" === typeof g.UNSAFE_componentWillMount && g.UNSAFE_componentWillMount()), "function" === typeof g.componentDidMount && (b.flags |= 4194308)) : ("function" === typeof g.componentDidMount && (b.flags |= 4194308), b.memoizedProps = d, b.memoizedState = k), g.props = d, g.state = k, g.context = l, d = h) : ("function" === typeof g.componentDidMount && (b.flags |= 4194308), d = !1); } else { g = b.stateNode; bh(a, b); h = b.memoizedProps; l = b.type === b.elementType ? h : Lg(b.type, h); g.props = l; q = b.pendingProps; r = g.context; k = c.contextType; "object" === typeof k && null !== k ? k = Vg(k) : (k = Zf(c) ? Xf : H.current, k = Yf(b, k)); var y = c.getDerivedStateFromProps; (m = "function" === typeof y || "function" === typeof g.getSnapshotBeforeUpdate) || "function" !== typeof g.UNSAFE_componentWillReceiveProps && "function" !== typeof g.componentWillReceiveProps || (h !== q || r !== k) && qh(b, g, d, k); $g = !1; r = b.memoizedState; g.state = r; gh(b, d, g, e); var n = b.memoizedState; h !== q || r !== n || Wf.current || $g ? ("function" === typeof y && (kh(b, c, y, d), n = b.memoizedState), (l = $g || oh(b, c, l, d, r, n, k) || !1) ? (m || "function" !== typeof g.UNSAFE_componentWillUpdate && "function" !== typeof g.componentWillUpdate || ("function" === typeof g.componentWillUpdate && g.componentWillUpdate(d, n, k), "function" === typeof g.UNSAFE_componentWillUpdate && g.UNSAFE_componentWillUpdate(d, n, k)), "function" === typeof g.componentDidUpdate && (b.flags |= 4), "function" === typeof g.getSnapshotBeforeUpdate && (b.flags |= 1024)) : ("function" !== typeof g.componentDidUpdate || h === a.memoizedProps && r === a.memoizedState || (b.flags |= 4), "function" !== typeof g.getSnapshotBeforeUpdate || h === a.memoizedProps && r === a.memoizedState || (b.flags |= 1024), b.memoizedProps = d, b.memoizedState = n), g.props = d, g.state = n, g.context = k, d = l) : ("function" !== typeof g.componentDidUpdate || h === a.memoizedProps && r === a.memoizedState || (b.flags |= 4), "function" !== typeof g.getSnapshotBeforeUpdate || h === a.memoizedProps && r === a.memoizedState || (b.flags |= 1024), d = !1); } return kj(a, b, c, d, f, e); } function kj(a, b, c, d, e, f) { hj(a, b); var g = 0 !== (b.flags & 128); if (!d && !g) return e && dg(b, c, !1), $i(a, b, f); d = b.stateNode; Xi.current = b; var h = g && "function" !== typeof c.getDerivedStateFromError ? null : d.render(); b.flags |= 1; null !== a && g ? (b.child = Bh(b, a.child, null, f), b.child = Bh(b, null, h, f)) : Yi(a, b, h, f); b.memoizedState = d.state; e && dg(b, c, !0); return b.child; } function lj(a) { var b = a.stateNode; b.pendingContext ? ag(a, b.pendingContext, b.pendingContext !== b.context) : b.context && ag(a, b.context, !1); Ih(a, b.containerInfo); } function mj(a, b, c, d, e) { Ig(); Jg(e); b.flags |= 256; Yi(a, b, c, d); return b.child; } var nj = { dehydrated: null, treeContext: null, retryLane: 0 }; function oj(a) { return { baseLanes: a, cachePool: null, transitions: null }; } function pj(a, b, c) { var d = b.pendingProps, e = M.current, f = !1, g = 0 !== (b.flags & 128), h; (h = g) || (h = null !== a && null === a.memoizedState ? !1 : 0 !== (e & 2)); if (h) f = !0, b.flags &= -129;else if (null === a || null !== a.memoizedState) e |= 1; G(M, e & 1); if (null === a) { Eg(b); a = b.memoizedState; if (null !== a && (a = a.dehydrated, null !== a)) return 0 === (b.mode & 1) ? b.lanes = 1 : "$!" === a.data ? b.lanes = 8 : b.lanes = 1073741824, null; g = d.children; a = d.fallback; return f ? (d = b.mode, f = b.child, g = { mode: "hidden", children: g }, 0 === (d & 1) && null !== f ? (f.childLanes = 0, f.pendingProps = g) : f = qj(g, d, 0, null), a = Ah(a, d, c, null), f.return = b, a.return = b, f.sibling = a, b.child = f, b.child.memoizedState = oj(c), b.memoizedState = nj, a) : rj(b, g); } e = a.memoizedState; if (null !== e && (h = e.dehydrated, null !== h)) return sj(a, b, g, d, h, e, c); if (f) { f = d.fallback; g = b.mode; e = a.child; h = e.sibling; var k = { mode: "hidden", children: d.children }; 0 === (g & 1) && b.child !== e ? (d = b.child, d.childLanes = 0, d.pendingProps = k, b.deletions = null) : (d = wh(e, k), d.subtreeFlags = e.subtreeFlags & 14680064); null !== h ? f = wh(h, f) : (f = Ah(f, g, c, null), f.flags |= 2); f.return = b; d.return = b; d.sibling = f; b.child = d; d = f; f = b.child; g = a.child.memoizedState; g = null === g ? oj(c) : { baseLanes: g.baseLanes | c, cachePool: null, transitions: g.transitions }; f.memoizedState = g; f.childLanes = a.childLanes & ~c; b.memoizedState = nj; return d; } f = a.child; a = f.sibling; d = wh(f, { mode: "visible", children: d.children }); 0 === (b.mode & 1) && (d.lanes = c); d.return = b; d.sibling = null; null !== a && (c = b.deletions, null === c ? (b.deletions = [a], b.flags |= 16) : c.push(a)); b.child = d; b.memoizedState = null; return d; } function rj(a, b) { b = qj({ mode: "visible", children: b }, a.mode, 0, null); b.return = a; return a.child = b; } function tj(a, b, c, d) { null !== d && Jg(d); Bh(b, a.child, null, c); a = rj(b, b.pendingProps.children); a.flags |= 2; b.memoizedState = null; return a; } function sj(a, b, c, d, e, f, g) { if (c) { if (b.flags & 256) return b.flags &= -257, d = Li(Error(p(422))), tj(a, b, g, d); if (null !== b.memoizedState) return b.child = a.child, b.flags |= 128, null; f = d.fallback; e = b.mode; d = qj({ mode: "visible", children: d.children }, e, 0, null); f = Ah(f, e, g, null); f.flags |= 2; d.return = b; f.return = b; d.sibling = f; b.child = d; 0 !== (b.mode & 1) && Bh(b, a.child, null, g); b.child.memoizedState = oj(g); b.memoizedState = nj; return f; } if (0 === (b.mode & 1)) return tj(a, b, g, null); if ("$!" === e.data) { d = e.nextSibling && e.nextSibling.dataset; if (d) var h = d.dgst; d = h; f = Error(p(419)); d = Li(f, d, void 0); return tj(a, b, g, d); } h = 0 !== (g & a.childLanes); if (Ug || h) { d = R; if (null !== d) { switch (g & -g) { case 4: e = 2; break; case 16: e = 8; break; case 64: case 128: case 256: case 512: case 1024: case 2048: case 4096: case 8192: case 16384: case 32768: case 65536: case 131072: case 262144: case 524288: case 1048576: case 2097152: case 4194304: case 8388608: case 16777216: case 33554432: case 67108864: e = 32; break; case 536870912: e = 268435456; break; default: e = 0; } e = 0 !== (e & (d.suspendedLanes | g)) ? 0 : e; 0 !== e && e !== f.retryLane && (f.retryLane = e, Zg(a, e), mh(d, a, e, -1)); } uj(); d = Li(Error(p(421))); return tj(a, b, g, d); } if ("$?" === e.data) return b.flags |= 128, b.child = a.child, b = vj.bind(null, a), e._reactRetry = b, null; a = f.treeContext; yg = Lf(e.nextSibling); xg = b; I = !0; zg = null; null !== a && (og[pg++] = rg, og[pg++] = sg, og[pg++] = qg, rg = a.id, sg = a.overflow, qg = b); b = rj(b, d.children); b.flags |= 4096; return b; } function wj(a, b, c) { a.lanes |= b; var d = a.alternate; null !== d && (d.lanes |= b); Sg(a.return, b, c); } function xj(a, b, c, d, e) { var f = a.memoizedState; null === f ? a.memoizedState = { isBackwards: b, rendering: null, renderingStartTime: 0, last: d, tail: c, tailMode: e } : (f.isBackwards = b, f.rendering = null, f.renderingStartTime = 0, f.last = d, f.tail = c, f.tailMode = e); } function yj(a, b, c) { var d = b.pendingProps, e = d.revealOrder, f = d.tail; Yi(a, b, d.children, c); d = M.current; if (0 !== (d & 2)) d = d & 1 | 2, b.flags |= 128;else { if (null !== a && 0 !== (a.flags & 128)) a: for (a = b.child; null !== a;) { if (13 === a.tag) null !== a.memoizedState && wj(a, c, b);else if (19 === a.tag) wj(a, c, b);else if (null !== a.child) { a.child.return = a; a = a.child; continue; } if (a === b) break a; for (; null === a.sibling;) { if (null === a.return || a.return === b) break a; a = a.return; } a.sibling.return = a.return; a = a.sibling; } d &= 1; } G(M, d); if (0 === (b.mode & 1)) b.memoizedState = null;else switch (e) { case "forwards": c = b.child; for (e = null; null !== c;) a = c.alternate, null !== a && null === Mh(a) && (e = c), c = c.sibling; c = e; null === c ? (e = b.child, b.child = null) : (e = c.sibling, c.sibling = null); xj(b, !1, e, c, f); break; case "backwards": c = null; e = b.child; for (b.child = null; null !== e;) { a = e.alternate; if (null !== a && null === Mh(a)) { b.child = e; break; } a = e.sibling; e.sibling = c; c = e; e = a; } xj(b, !0, c, null, f); break; case "together": xj(b, !1, null, null, void 0); break; default: b.memoizedState = null; } return b.child; } function jj(a, b) { 0 === (b.mode & 1) && null !== a && (a.alternate = null, b.alternate = null, b.flags |= 2); } function $i(a, b, c) { null !== a && (b.dependencies = a.dependencies); hh |= b.lanes; if (0 === (c & b.childLanes)) return null; if (null !== a && b.child !== a.child) throw Error(p(153)); if (null !== b.child) { a = b.child; c = wh(a, a.pendingProps); b.child = c; for (c.return = b; null !== a.sibling;) a = a.sibling, c = c.sibling = wh(a, a.pendingProps), c.return = b; c.sibling = null; } return b.child; } function zj(a, b, c) { switch (b.tag) { case 3: lj(b); Ig(); break; case 5: Kh(b); break; case 1: Zf(b.type) && cg(b); break; case 4: Ih(b, b.stateNode.containerInfo); break; case 10: var d = b.type._context, e = b.memoizedProps.value; G(Mg, d._currentValue); d._currentValue = e; break; case 13: d = b.memoizedState; if (null !== d) { if (null !== d.dehydrated) return G(M, M.current & 1), b.flags |= 128, null; if (0 !== (c & b.child.childLanes)) return pj(a, b, c); G(M, M.current & 1); a = $i(a, b, c); return null !== a ? a.sibling : null; } G(M, M.current & 1); break; case 19: d = 0 !== (c & b.childLanes); if (0 !== (a.flags & 128)) { if (d) return yj(a, b, c); b.flags |= 128; } e = b.memoizedState; null !== e && (e.rendering = null, e.tail = null, e.lastEffect = null); G(M, M.current); if (d) break;else return null; case 22: case 23: return b.lanes = 0, ej(a, b, c); } return $i(a, b, c); } var Aj, Bj, Cj, Dj; Aj = function Aj(a, b) { for (var c = b.child; null !== c;) { if (5 === c.tag || 6 === c.tag) a.appendChild(c.stateNode);else if (4 !== c.tag && null !== c.child) { c.child.return = c; c = c.child; continue; } if (c === b) break; for (; null === c.sibling;) { if (null === c.return || c.return === b) return; c = c.return; } c.sibling.return = c.return; c = c.sibling; } }; Bj = function Bj() {}; Cj = function Cj(a, b, c, d) { var e = a.memoizedProps; if (e !== d) { a = b.stateNode; Hh(Eh.current); var f = null; switch (c) { case "input": e = Ya(a, e); d = Ya(a, d); f = []; break; case "select": e = A({}, e, { value: void 0 }); d = A({}, d, { value: void 0 }); f = []; break; case "textarea": e = gb(a, e); d = gb(a, d); f = []; break; default: "function" !== typeof e.onClick && "function" === typeof d.onClick && (a.onclick = Bf); } ub(c, d); var g; c = null; for (l in e) if (!d.hasOwnProperty(l) && e.hasOwnProperty(l) && null != e[l]) if ("style" === l) { var h = e[l]; for (g in h) h.hasOwnProperty(g) && (c || (c = {}), c[g] = ""); } else "dangerouslySetInnerHTML" !== l && "children" !== l && "suppressContentEditableWarning" !== l && "suppressHydrationWarning" !== l && "autoFocus" !== l && (ea.hasOwnProperty(l) ? f || (f = []) : (f = f || []).push(l, null)); for (l in d) { var k = d[l]; h = null != e ? e[l] : void 0; if (d.hasOwnProperty(l) && k !== h && (null != k || null != h)) if ("style" === l) { if (h) { for (g in h) !h.hasOwnProperty(g) || k && k.hasOwnProperty(g) || (c || (c = {}), c[g] = ""); for (g in k) k.hasOwnProperty(g) && h[g] !== k[g] && (c || (c = {}), c[g] = k[g]); } else c || (f || (f = []), f.push(l, c)), c = k; } else "dangerouslySetInnerHTML" === l ? (k = k ? k.__html : void 0, h = h ? h.__html : void 0, null != k && h !== k && (f = f || []).push(l, k)) : "children" === l ? "string" !== typeof k && "number" !== typeof k || (f = f || []).push(l, "" + k) : "suppressContentEditableWarning" !== l && "suppressHydrationWarning" !== l && (ea.hasOwnProperty(l) ? (null != k && "onScroll" === l && D("scroll", a), f || h === k || (f = [])) : (f = f || []).push(l, k)); } c && (f = f || []).push("style", c); var l = f; if (b.updateQueue = l) b.flags |= 4; } }; Dj = function Dj(a, b, c, d) { c !== d && (b.flags |= 4); }; function Ej(a, b) { if (!I) switch (a.tailMode) { case "hidden": b = a.tail; for (var c = null; null !== b;) null !== b.alternate && (c = b), b = b.sibling; null === c ? a.tail = null : c.sibling = null; break; case "collapsed": c = a.tail; for (var d = null; null !== c;) null !== c.alternate && (d = c), c = c.sibling; null === d ? b || null === a.tail ? a.tail = null : a.tail.sibling = null : d.sibling = null; } } function S(a) { var b = null !== a.alternate && a.alternate.child === a.child, c = 0, d = 0; if (b) for (var e = a.child; null !== e;) c |= e.lanes | e.childLanes, d |= e.subtreeFlags & 14680064, d |= e.flags & 14680064, e.return = a, e = e.sibling;else for (e = a.child; null !== e;) c |= e.lanes | e.childLanes, d |= e.subtreeFlags, d |= e.flags, e.return = a, e = e.sibling; a.subtreeFlags |= d; a.childLanes = c; return b; } function Fj(a, b, c) { var d = b.pendingProps; wg(b); switch (b.tag) { case 2: case 16: case 15: case 0: case 11: case 7: case 8: case 12: case 9: case 14: return S(b), null; case 1: return Zf(b.type) && $f(), S(b), null; case 3: d = b.stateNode; Jh(); E(Wf); E(H); Oh(); d.pendingContext && (d.context = d.pendingContext, d.pendingContext = null); if (null === a || null === a.child) Gg(b) ? b.flags |= 4 : null === a || a.memoizedState.isDehydrated && 0 === (b.flags & 256) || (b.flags |= 1024, null !== zg && (Gj(zg), zg = null)); Bj(a, b); S(b); return null; case 5: Lh(b); var e = Hh(Gh.current); c = b.type; if (null !== a && null != b.stateNode) Cj(a, b, c, d, e), a.ref !== b.ref && (b.flags |= 512, b.flags |= 2097152);else { if (!d) { if (null === b.stateNode) throw Error(p(166)); S(b); return null; } a = Hh(Eh.current); if (Gg(b)) { d = b.stateNode; c = b.type; var f = b.memoizedProps; d[Of] = b; d[Pf] = f; a = 0 !== (b.mode & 1); switch (c) { case "dialog": D("cancel", d); D("close", d); break; case "iframe": case "object": case "embed": D("load", d); break; case "video": case "audio": for (e = 0; e < lf.length; e++) D(lf[e], d); break; case "source": D("error", d); break; case "img": case "image": case "link": D("error", d); D("load", d); break; case "details": D("toggle", d); break; case "input": Za(d, f); D("invalid", d); break; case "select": d._wrapperState = { wasMultiple: !!f.multiple }; D("invalid", d); break; case "textarea": hb(d, f), D("invalid", d); } ub(c, f); e = null; for (var g in f) if (f.hasOwnProperty(g)) { var h = f[g]; "children" === g ? "string" === typeof h ? d.textContent !== h && (!0 !== f.suppressHydrationWarning && Af(d.textContent, h, a), e = ["children", h]) : "number" === typeof h && d.textContent !== "" + h && (!0 !== f.suppressHydrationWarning && Af(d.textContent, h, a), e = ["children", "" + h]) : ea.hasOwnProperty(g) && null != h && "onScroll" === g && D("scroll", d); } switch (c) { case "input": Va(d); db(d, f, !0); break; case "textarea": Va(d); jb(d); break; case "select": case "option": break; default: "function" === typeof f.onClick && (d.onclick = Bf); } d = e; b.updateQueue = d; null !== d && (b.flags |= 4); } else { g = 9 === e.nodeType ? e : e.ownerDocument; "http://www.w3.org/1999/xhtml" === a && (a = kb(c)); "http://www.w3.org/1999/xhtml" === a ? "script" === c ? (a = g.createElement("div"), a.innerHTML = " * ^ * ``` * * @type {State} */ function continuationRawTagOpen(code) { if (code === 47) { effects.consume(code); buffer = ''; return continuationRawEndTag; } return continuation(code); } /** * In raw continuation, after ` | * ^^^^^^ * ``` * * @type {State} */ function continuationRawEndTag(code) { if (code === 62) { var name = buffer.toLowerCase(); if (htmlRawNames.includes(name)) { effects.consume(code); return continuationClose; } return continuation(code); } if (asciiAlpha(code) && buffer.length < 8) { effects.consume(code); // @ts-expect-error: not null. buffer += String.fromCharCode(code); return continuationRawEndTag; } return continuation(code); } /** * In cdata continuation, after `]`, expecting `]>`. * * ```markdown * > | &<]]> * ^ * ``` * * @type {State} */ function continuationCdataInside(code) { if (code === 93) { effects.consume(code); return continuationDeclarationInside; } return continuation(code); } /** * In declaration or instruction continuation, at `>`. * * ```markdown * > | * ^ * > | * ^ * > | * ^ * > | * ^ * > | &<]]> * ^ * ``` * * @type {State} */ function continuationDeclarationInside(code) { if (code === 62) { effects.consume(code); return continuationClose; } // More dashes. if (code === 45 && marker === 2) { effects.consume(code); return continuationDeclarationInside; } return continuation(code); } /** * In closed continuation: everything we get until the eol/eof is part of it. * * ```markdown * > | * ^ * ``` * * @type {State} */ function continuationClose(code) { if (code === null || markdownLineEnding(code)) { effects.exit('htmlFlowData'); return continuationAfter(code); } effects.consume(code); return continuationClose; } /** * Done. * * ```markdown * > | * ^ * ``` * * @type {State} */ function continuationAfter(code) { effects.exit('htmlFlow'); // // Feel free to interrupt. // tokenizer.interrupt = false // // No longer concrete. // tokenizer.concrete = false return ok(code); } } /** * @this {TokenizeContext} * @type {Tokenizer} */ function tokenizeNonLazyContinuationStart(effects, ok, nok) { var self = this; return start; /** * At eol, before continuation. * * ```markdown * > | * ```js * ^ * | b * ``` * * @type {State} */ function start(code) { if (markdownLineEnding(code)) { effects.enter('lineEnding'); effects.consume(code); effects.exit('lineEnding'); return after; } return nok(code); } /** * A continuation. * * ```markdown * | * ```js * > | b * ^ * ``` * * @type {State} */ function after(code) { return self.parser.lazy[self.now().line] ? nok(code) : ok(code); } } /** * @this {TokenizeContext} * @type {Tokenizer} */ function tokenizeBlankLineBefore(effects, ok, nok) { return start; /** * Before eol, expecting blank line. * * ```markdown * > |
* ^ * | * ``` * * @type {State} */ function start(code) { effects.enter('lineEnding'); effects.consume(code); effects.exit('lineEnding'); return effects.attempt(blankLine, ok, nok); } } ;// CONCATENATED MODULE: ./node_modules/.pnpm/micromark-core-commonmark@1.1.0/node_modules/micromark-core-commonmark/lib/code-fenced.js /** * @typedef {import('micromark-util-types').Code} Code * @typedef {import('micromark-util-types').Construct} Construct * @typedef {import('micromark-util-types').State} State * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext * @typedef {import('micromark-util-types').Tokenizer} Tokenizer */ /** @type {Construct} */ var nonLazyContinuation = { tokenize: tokenizeNonLazyContinuation, partial: true }; /** @type {Construct} */ var codeFenced = { name: 'codeFenced', tokenize: tokenizeCodeFenced, concrete: true }; /** * @this {TokenizeContext} * @type {Tokenizer} */ function tokenizeCodeFenced(effects, ok, nok) { var self = this; /** @type {Construct} */ var closeStart = { tokenize: tokenizeCloseStart, partial: true }; var initialPrefix = 0; var sizeOpen = 0; /** @type {NonNullable} */ var marker; return start; /** * Start of code. * * ```markdown * > | ~~~js * ^ * | alert(1) * | ~~~ * ``` * * @type {State} */ function start(code) { // To do: parse whitespace like `markdown-rs`. return beforeSequenceOpen(code); } /** * In opening fence, after prefix, at sequence. * * ```markdown * > | ~~~js * ^ * | alert(1) * | ~~~ * ``` * * @type {State} */ function beforeSequenceOpen(code) { var tail = self.events[self.events.length - 1]; initialPrefix = tail && tail[1].type === 'linePrefix' ? tail[2].sliceSerialize(tail[1], true).length : 0; marker = code; effects.enter('codeFenced'); effects.enter('codeFencedFence'); effects.enter('codeFencedFenceSequence'); return sequenceOpen(code); } /** * In opening fence sequence. * * ```markdown * > | ~~~js * ^ * | alert(1) * | ~~~ * ``` * * @type {State} */ function sequenceOpen(code) { if (code === marker) { sizeOpen++; effects.consume(code); return sequenceOpen; } if (sizeOpen < 3) { return nok(code); } effects.exit('codeFencedFenceSequence'); return markdownSpace(code) ? factorySpace(effects, infoBefore, 'whitespace')(code) : infoBefore(code); } /** * In opening fence, after the sequence (and optional whitespace), before info. * * ```markdown * > | ~~~js * ^ * | alert(1) * | ~~~ * ``` * * @type {State} */ function infoBefore(code) { if (code === null || markdownLineEnding(code)) { effects.exit('codeFencedFence'); return self.interrupt ? ok(code) : effects.check(nonLazyContinuation, atNonLazyBreak, after)(code); } effects.enter('codeFencedFenceInfo'); effects.enter('chunkString', { contentType: 'string' }); return info(code); } /** * In info. * * ```markdown * > | ~~~js * ^ * | alert(1) * | ~~~ * ``` * * @type {State} */ function info(code) { if (code === null || markdownLineEnding(code)) { effects.exit('chunkString'); effects.exit('codeFencedFenceInfo'); return infoBefore(code); } if (markdownSpace(code)) { effects.exit('chunkString'); effects.exit('codeFencedFenceInfo'); return factorySpace(effects, metaBefore, 'whitespace')(code); } if (code === 96 && code === marker) { return nok(code); } effects.consume(code); return info; } /** * In opening fence, after info and whitespace, before meta. * * ```markdown * > | ~~~js eval * ^ * | alert(1) * | ~~~ * ``` * * @type {State} */ function metaBefore(code) { if (code === null || markdownLineEnding(code)) { return infoBefore(code); } effects.enter('codeFencedFenceMeta'); effects.enter('chunkString', { contentType: 'string' }); return meta(code); } /** * In meta. * * ```markdown * > | ~~~js eval * ^ * | alert(1) * | ~~~ * ``` * * @type {State} */ function meta(code) { if (code === null || markdownLineEnding(code)) { effects.exit('chunkString'); effects.exit('codeFencedFenceMeta'); return infoBefore(code); } if (code === 96 && code === marker) { return nok(code); } effects.consume(code); return meta; } /** * At eol/eof in code, before a non-lazy closing fence or content. * * ```markdown * > | ~~~js * ^ * > | alert(1) * ^ * | ~~~ * ``` * * @type {State} */ function atNonLazyBreak(code) { return effects.attempt(closeStart, after, contentBefore)(code); } /** * Before code content, not a closing fence, at eol. * * ```markdown * | ~~~js * > | alert(1) * ^ * | ~~~ * ``` * * @type {State} */ function contentBefore(code) { effects.enter('lineEnding'); effects.consume(code); effects.exit('lineEnding'); return contentStart; } /** * Before code content, not a closing fence. * * ```markdown * | ~~~js * > | alert(1) * ^ * | ~~~ * ``` * * @type {State} */ function contentStart(code) { return initialPrefix > 0 && markdownSpace(code) ? factorySpace(effects, beforeContentChunk, 'linePrefix', initialPrefix + 1)(code) : beforeContentChunk(code); } /** * Before code content, after optional prefix. * * ```markdown * | ~~~js * > | alert(1) * ^ * | ~~~ * ``` * * @type {State} */ function beforeContentChunk(code) { if (code === null || markdownLineEnding(code)) { return effects.check(nonLazyContinuation, atNonLazyBreak, after)(code); } effects.enter('codeFlowValue'); return contentChunk(code); } /** * In code content. * * ```markdown * | ~~~js * > | alert(1) * ^^^^^^^^ * | ~~~ * ``` * * @type {State} */ function contentChunk(code) { if (code === null || markdownLineEnding(code)) { effects.exit('codeFlowValue'); return beforeContentChunk(code); } effects.consume(code); return contentChunk; } /** * After code. * * ```markdown * | ~~~js * | alert(1) * > | ~~~ * ^ * ``` * * @type {State} */ function after(code) { effects.exit('codeFenced'); return ok(code); } /** * @this {TokenizeContext} * @type {Tokenizer} */ function tokenizeCloseStart(effects, ok, nok) { var size = 0; return startBefore; /** * * * @type {State} */ function startBefore(code) { effects.enter('lineEnding'); effects.consume(code); effects.exit('lineEnding'); return start; } /** * Before closing fence, at optional whitespace. * * ```markdown * | ~~~js * | alert(1) * > | ~~~ * ^ * ``` * * @type {State} */ function start(code) { // Always populated by defaults. // To do: `enter` here or in next state? effects.enter('codeFencedFence'); return markdownSpace(code) ? factorySpace(effects, beforeSequenceClose, 'linePrefix', self.parser.constructs.disable.null.includes('codeIndented') ? undefined : 4)(code) : beforeSequenceClose(code); } /** * In closing fence, after optional whitespace, at sequence. * * ```markdown * | ~~~js * | alert(1) * > | ~~~ * ^ * ``` * * @type {State} */ function beforeSequenceClose(code) { if (code === marker) { effects.enter('codeFencedFenceSequence'); return sequenceClose(code); } return nok(code); } /** * In closing fence sequence. * * ```markdown * | ~~~js * | alert(1) * > | ~~~ * ^ * ``` * * @type {State} */ function sequenceClose(code) { if (code === marker) { size++; effects.consume(code); return sequenceClose; } if (size >= sizeOpen) { effects.exit('codeFencedFenceSequence'); return markdownSpace(code) ? factorySpace(effects, sequenceCloseAfter, 'whitespace')(code) : sequenceCloseAfter(code); } return nok(code); } /** * After closing fence sequence, after optional whitespace. * * ```markdown * | ~~~js * | alert(1) * > | ~~~ * ^ * ``` * * @type {State} */ function sequenceCloseAfter(code) { if (code === null || markdownLineEnding(code)) { effects.exit('codeFencedFence'); return ok(code); } return nok(code); } } } /** * @this {TokenizeContext} * @type {Tokenizer} */ function tokenizeNonLazyContinuation(effects, ok, nok) { var self = this; return start; /** * * * @type {State} */ function start(code) { if (code === null) { return nok(code); } effects.enter('lineEnding'); effects.consume(code); effects.exit('lineEnding'); return lineStart; } /** * * * @type {State} */ function lineStart(code) { return self.parser.lazy[self.now().line] ? nok(code) : ok(code); } } ;// CONCATENATED MODULE: ./node_modules/.pnpm/decode-named-character-reference@1.0.2/node_modules/decode-named-character-reference/index.dom.js /// /* eslint-env browser */ var index_dom_element = document.createElement('i'); /** * @param {string} value * @returns {string|false} */ function decodeNamedCharacterReference(value) { var characterReference = '&' + value + ';'; index_dom_element.innerHTML = characterReference; var char = index_dom_element.textContent; // Some named character references do not require the closing semicolon // (`¬`, for instance), which leads to situations where parsing the assumed // named reference of `¬it;` will result in the string `¬it;`. // When we encounter a trailing semicolon after parsing, and the character // reference to decode was not a semicolon (`;`), we can assume that the // matching was not complete. // @ts-expect-error: TypeScript is wrong that `textContent` on elements can // yield `null`. if (char.charCodeAt(char.length - 1) === 59 /* `;` */ && value !== 'semi') { return false; } // If the decoded string is equal to the input, the character reference was // not valid. // @ts-expect-error: TypeScript is wrong that `textContent` on elements can // yield `null`. return char === characterReference ? false : char; } ;// CONCATENATED MODULE: ./node_modules/.pnpm/micromark-core-commonmark@1.1.0/node_modules/micromark-core-commonmark/lib/character-reference.js /** * @typedef {import('micromark-util-types').Code} Code * @typedef {import('micromark-util-types').Construct} Construct * @typedef {import('micromark-util-types').State} State * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext * @typedef {import('micromark-util-types').Tokenizer} Tokenizer */ /** @type {Construct} */ var characterReference = { name: 'characterReference', tokenize: tokenizeCharacterReference }; /** * @this {TokenizeContext} * @type {Tokenizer} */ function tokenizeCharacterReference(effects, ok, nok) { var self = this; var size = 0; /** @type {number} */ var max; /** @type {(code: Code) => boolean} */ var test; return start; /** * Start of character reference. * * ```markdown * > | a&b * ^ * > | a{b * ^ * > | a b * ^ * ``` * * @type {State} */ function start(code) { effects.enter('characterReference'); effects.enter('characterReferenceMarker'); effects.consume(code); effects.exit('characterReferenceMarker'); return open; } /** * After `&`, at `#` for numeric references or alphanumeric for named * references. * * ```markdown * > | a&b * ^ * > | a{b * ^ * > | a b * ^ * ``` * * @type {State} */ function open(code) { if (code === 35) { effects.enter('characterReferenceMarkerNumeric'); effects.consume(code); effects.exit('characterReferenceMarkerNumeric'); return numeric; } effects.enter('characterReferenceValue'); max = 31; test = asciiAlphanumeric; return value(code); } /** * After `#`, at `x` for hexadecimals or digit for decimals. * * ```markdown * > | a{b * ^ * > | a b * ^ * ``` * * @type {State} */ function numeric(code) { if (code === 88 || code === 120) { effects.enter('characterReferenceMarkerHexadecimal'); effects.consume(code); effects.exit('characterReferenceMarkerHexadecimal'); effects.enter('characterReferenceValue'); max = 6; test = asciiHexDigit; return value; } effects.enter('characterReferenceValue'); max = 7; test = asciiDigit; return value(code); } /** * After markers (`&#x`, `&#`, or `&`), in value, before `;`. * * The character reference kind defines what and how many characters are * allowed. * * ```markdown * > | a&b * ^^^ * > | a{b * ^^^ * > | a b * ^ * ``` * * @type {State} */ function value(code) { if (code === 59 && size) { var token = effects.exit('characterReferenceValue'); if (test === asciiAlphanumeric && !decodeNamedCharacterReference(self.sliceSerialize(token))) { return nok(code); } // To do: `markdown-rs` uses a different name: // `CharacterReferenceMarkerSemi`. effects.enter('characterReferenceMarker'); effects.consume(code); effects.exit('characterReferenceMarker'); effects.exit('characterReference'); return ok; } if (test(code) && size++ < max) { effects.consume(code); return value; } return nok(code); } } ;// CONCATENATED MODULE: ./node_modules/.pnpm/micromark-core-commonmark@1.1.0/node_modules/micromark-core-commonmark/lib/character-escape.js /** * @typedef {import('micromark-util-types').Construct} Construct * @typedef {import('micromark-util-types').State} State * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext * @typedef {import('micromark-util-types').Tokenizer} Tokenizer */ /** @type {Construct} */ var characterEscape = { name: 'characterEscape', tokenize: tokenizeCharacterEscape }; /** * @this {TokenizeContext} * @type {Tokenizer} */ function tokenizeCharacterEscape(effects, ok, nok) { return start; /** * Start of character escape. * * ```markdown * > | a\*b * ^ * ``` * * @type {State} */ function start(code) { effects.enter('characterEscape'); effects.enter('escapeMarker'); effects.consume(code); effects.exit('escapeMarker'); return inside; } /** * After `\`, at punctuation. * * ```markdown * > | a\*b * ^ * ``` * * @type {State} */ function inside(code) { // ASCII punctuation. if (asciiPunctuation(code)) { effects.enter('characterEscapeValue'); effects.consume(code); effects.exit('characterEscapeValue'); effects.exit('characterEscape'); return ok; } return nok(code); } } ;// CONCATENATED MODULE: ./node_modules/.pnpm/micromark-core-commonmark@1.1.0/node_modules/micromark-core-commonmark/lib/line-ending.js /** * @typedef {import('micromark-util-types').Construct} Construct * @typedef {import('micromark-util-types').State} State * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext * @typedef {import('micromark-util-types').Tokenizer} Tokenizer */ /** @type {Construct} */ var lineEnding = { name: 'lineEnding', tokenize: tokenizeLineEnding }; /** * @this {TokenizeContext} * @type {Tokenizer} */ function tokenizeLineEnding(effects, ok) { return start; /** @type {State} */ function start(code) { effects.enter('lineEnding'); effects.consume(code); effects.exit('lineEnding'); return factorySpace(effects, ok, 'linePrefix'); } } ;// CONCATENATED MODULE: ./node_modules/.pnpm/micromark-core-commonmark@1.1.0/node_modules/micromark-core-commonmark/lib/label-end.js /** * @typedef {import('micromark-util-types').Construct} Construct * @typedef {import('micromark-util-types').Event} Event * @typedef {import('micromark-util-types').Resolver} Resolver * @typedef {import('micromark-util-types').State} State * @typedef {import('micromark-util-types').Token} Token * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext * @typedef {import('micromark-util-types').Tokenizer} Tokenizer */ /** @type {Construct} */ var labelEnd = { name: 'labelEnd', tokenize: tokenizeLabelEnd, resolveTo: resolveToLabelEnd, resolveAll: resolveAllLabelEnd }; /** @type {Construct} */ var resourceConstruct = { tokenize: tokenizeResource }; /** @type {Construct} */ var referenceFullConstruct = { tokenize: tokenizeReferenceFull }; /** @type {Construct} */ var referenceCollapsedConstruct = { tokenize: tokenizeReferenceCollapsed }; /** @type {Resolver} */ function resolveAllLabelEnd(events) { var index = -1; while (++index < events.length) { var token = events[index][1]; if (token.type === 'labelImage' || token.type === 'labelLink' || token.type === 'labelEnd') { // Remove the marker. events.splice(index + 1, token.type === 'labelImage' ? 4 : 2); token.type = 'data'; index++; } } return events; } /** @type {Resolver} */ function resolveToLabelEnd(events, context) { var index = events.length; var offset = 0; /** @type {Token} */ var token; /** @type {number | undefined} */ var open; /** @type {number | undefined} */ var close; /** @type {Array} */ var media; // Find an opening. while (index--) { token = events[index][1]; if (open) { // If we see another link, or inactive link label, we’ve been here before. if (token.type === 'link' || token.type === 'labelLink' && token._inactive) { break; } // Mark other link openings as inactive, as we can’t have links in // links. if (events[index][0] === 'enter' && token.type === 'labelLink') { token._inactive = true; } } else if (close) { if (events[index][0] === 'enter' && (token.type === 'labelImage' || token.type === 'labelLink') && !token._balanced) { open = index; if (token.type !== 'labelLink') { offset = 2; break; } } } else if (token.type === 'labelEnd') { close = index; } } var group = { type: events[open][1].type === 'labelLink' ? 'link' : 'image', start: Object.assign({}, events[open][1].start), end: Object.assign({}, events[events.length - 1][1].end) }; var label = { type: 'label', start: Object.assign({}, events[open][1].start), end: Object.assign({}, events[close][1].end) }; var text = { type: 'labelText', start: Object.assign({}, events[open + offset + 2][1].end), end: Object.assign({}, events[close - 2][1].start) }; media = [['enter', group, context], ['enter', label, context]]; // Opening marker. media = push(media, events.slice(open + 1, open + offset + 3)); // Text open. media = push(media, [['enter', text, context]]); // Always populated by defaults. // Between. media = push(media, resolveAll(context.parser.constructs.insideSpan.null, events.slice(open + offset + 4, close - 3), context)); // Text close, marker close, label close. media = push(media, [['exit', text, context], events[close - 2], events[close - 1], ['exit', label, context]]); // Reference, resource, or so. media = push(media, events.slice(close + 1)); // Media close. media = push(media, [['exit', group, context]]); splice(events, open, events.length, media); return events; } /** * @this {TokenizeContext} * @type {Tokenizer} */ function tokenizeLabelEnd(effects, ok, nok) { var self = this; var index = self.events.length; /** @type {Token} */ var labelStart; /** @type {boolean} */ var defined; // Find an opening. while (index--) { if ((self.events[index][1].type === 'labelImage' || self.events[index][1].type === 'labelLink') && !self.events[index][1]._balanced) { labelStart = self.events[index][1]; break; } } return start; /** * Start of label end. * * ```markdown * > | [a](b) c * ^ * > | [a][b] c * ^ * > | [a][] b * ^ * > | [a] b * ``` * * @type {State} */ function start(code) { // If there is not an okay opening. if (!labelStart) { return nok(code); } // If the corresponding label (link) start is marked as inactive, // it means we’d be wrapping a link, like this: // // ```markdown // > | a [b [c](d) e](f) g. // ^ // ``` // // We can’t have that, so it’s just balanced brackets. if (labelStart._inactive) { return labelEndNok(code); } defined = self.parser.defined.includes(normalizeIdentifier(self.sliceSerialize({ start: labelStart.end, end: self.now() }))); effects.enter('labelEnd'); effects.enter('labelMarker'); effects.consume(code); effects.exit('labelMarker'); effects.exit('labelEnd'); return after; } /** * After `]`. * * ```markdown * > | [a](b) c * ^ * > | [a][b] c * ^ * > | [a][] b * ^ * > | [a] b * ^ * ``` * * @type {State} */ function after(code) { // Note: `markdown-rs` also parses GFM footnotes here, which for us is in // an extension. // Resource (`[asd](fgh)`)? if (code === 40) { return effects.attempt(resourceConstruct, labelEndOk, defined ? labelEndOk : labelEndNok)(code); } // Full (`[asd][fgh]`) or collapsed (`[asd][]`) reference? if (code === 91) { return effects.attempt(referenceFullConstruct, labelEndOk, defined ? referenceNotFull : labelEndNok)(code); } // Shortcut (`[asd]`) reference? return defined ? labelEndOk(code) : labelEndNok(code); } /** * After `]`, at `[`, but not at a full reference. * * > 👉 **Note**: we only get here if the label is defined. * * ```markdown * > | [a][] b * ^ * > | [a] b * ^ * ``` * * @type {State} */ function referenceNotFull(code) { return effects.attempt(referenceCollapsedConstruct, labelEndOk, labelEndNok)(code); } /** * Done, we found something. * * ```markdown * > | [a](b) c * ^ * > | [a][b] c * ^ * > | [a][] b * ^ * > | [a] b * ^ * ``` * * @type {State} */ function labelEndOk(code) { // Note: `markdown-rs` does a bunch of stuff here. return ok(code); } /** * Done, it’s nothing. * * There was an okay opening, but we didn’t match anything. * * ```markdown * > | [a](b c * ^ * > | [a][b c * ^ * > | [a] b * ^ * ``` * * @type {State} */ function labelEndNok(code) { labelStart._balanced = true; return nok(code); } } /** * @this {TokenizeContext} * @type {Tokenizer} */ function tokenizeResource(effects, ok, nok) { return resourceStart; /** * At a resource. * * ```markdown * > | [a](b) c * ^ * ``` * * @type {State} */ function resourceStart(code) { effects.enter('resource'); effects.enter('resourceMarker'); effects.consume(code); effects.exit('resourceMarker'); return resourceBefore; } /** * In resource, after `(`, at optional whitespace. * * ```markdown * > | [a](b) c * ^ * ``` * * @type {State} */ function resourceBefore(code) { return markdownLineEndingOrSpace(code) ? factoryWhitespace(effects, resourceOpen)(code) : resourceOpen(code); } /** * In resource, after optional whitespace, at `)` or a destination. * * ```markdown * > | [a](b) c * ^ * ``` * * @type {State} */ function resourceOpen(code) { if (code === 41) { return resourceEnd(code); } return factoryDestination(effects, resourceDestinationAfter, resourceDestinationMissing, 'resourceDestination', 'resourceDestinationLiteral', 'resourceDestinationLiteralMarker', 'resourceDestinationRaw', 'resourceDestinationString', 32)(code); } /** * In resource, after destination, at optional whitespace. * * ```markdown * > | [a](b) c * ^ * ``` * * @type {State} */ function resourceDestinationAfter(code) { return markdownLineEndingOrSpace(code) ? factoryWhitespace(effects, resourceBetween)(code) : resourceEnd(code); } /** * At invalid destination. * * ```markdown * > | [a](<<) b * ^ * ``` * * @type {State} */ function resourceDestinationMissing(code) { return nok(code); } /** * In resource, after destination and whitespace, at `(` or title. * * ```markdown * > | [a](b ) c * ^ * ``` * * @type {State} */ function resourceBetween(code) { if (code === 34 || code === 39 || code === 40) { return factoryTitle(effects, resourceTitleAfter, nok, 'resourceTitle', 'resourceTitleMarker', 'resourceTitleString')(code); } return resourceEnd(code); } /** * In resource, after title, at optional whitespace. * * ```markdown * > | [a](b "c") d * ^ * ``` * * @type {State} */ function resourceTitleAfter(code) { return markdownLineEndingOrSpace(code) ? factoryWhitespace(effects, resourceEnd)(code) : resourceEnd(code); } /** * In resource, at `)`. * * ```markdown * > | [a](b) d * ^ * ``` * * @type {State} */ function resourceEnd(code) { if (code === 41) { effects.enter('resourceMarker'); effects.consume(code); effects.exit('resourceMarker'); effects.exit('resource'); return ok; } return nok(code); } } /** * @this {TokenizeContext} * @type {Tokenizer} */ function tokenizeReferenceFull(effects, ok, nok) { var self = this; return referenceFull; /** * In a reference (full), at the `[`. * * ```markdown * > | [a][b] d * ^ * ``` * * @type {State} */ function referenceFull(code) { return factoryLabel.call(self, effects, referenceFullAfter, referenceFullMissing, 'reference', 'referenceMarker', 'referenceString')(code); } /** * In a reference (full), after `]`. * * ```markdown * > | [a][b] d * ^ * ``` * * @type {State} */ function referenceFullAfter(code) { return self.parser.defined.includes(normalizeIdentifier(self.sliceSerialize(self.events[self.events.length - 1][1]).slice(1, -1))) ? ok(code) : nok(code); } /** * In reference (full) that was missing. * * ```markdown * > | [a][b d * ^ * ``` * * @type {State} */ function referenceFullMissing(code) { return nok(code); } } /** * @this {TokenizeContext} * @type {Tokenizer} */ function tokenizeReferenceCollapsed(effects, ok, nok) { return referenceCollapsedStart; /** * In reference (collapsed), at `[`. * * > 👉 **Note**: we only get here if the label is defined. * * ```markdown * > | [a][] d * ^ * ``` * * @type {State} */ function referenceCollapsedStart(code) { // We only attempt a collapsed label if there’s a `[`. effects.enter('reference'); effects.enter('referenceMarker'); effects.consume(code); effects.exit('referenceMarker'); return referenceCollapsedOpen; } /** * In reference (collapsed), at `]`. * * > 👉 **Note**: we only get here if the label is defined. * * ```markdown * > | [a][] d * ^ * ``` * * @type {State} */ function referenceCollapsedOpen(code) { if (code === 93) { effects.enter('referenceMarker'); effects.consume(code); effects.exit('referenceMarker'); effects.exit('reference'); return ok; } return nok(code); } } ;// CONCATENATED MODULE: ./node_modules/.pnpm/micromark-core-commonmark@1.1.0/node_modules/micromark-core-commonmark/lib/label-start-image.js /** * @typedef {import('micromark-util-types').Construct} Construct * @typedef {import('micromark-util-types').State} State * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext * @typedef {import('micromark-util-types').Tokenizer} Tokenizer */ /** @type {Construct} */ var labelStartImage = { name: 'labelStartImage', tokenize: tokenizeLabelStartImage, resolveAll: labelEnd.resolveAll }; /** * @this {TokenizeContext} * @type {Tokenizer} */ function tokenizeLabelStartImage(effects, ok, nok) { var self = this; return start; /** * Start of label (image) start. * * ```markdown * > | a ![b] c * ^ * ``` * * @type {State} */ function start(code) { effects.enter('labelImage'); effects.enter('labelImageMarker'); effects.consume(code); effects.exit('labelImageMarker'); return open; } /** * After `!`, at `[`. * * ```markdown * > | a ![b] c * ^ * ``` * * @type {State} */ function open(code) { if (code === 91) { effects.enter('labelMarker'); effects.consume(code); effects.exit('labelMarker'); effects.exit('labelImage'); return after; } return nok(code); } /** * After `![`. * * ```markdown * > | a ![b] c * ^ * ``` * * This is needed in because, when GFM footnotes are enabled, images never * form when started with a `^`. * Instead, links form: * * ```markdown * ![^a](b) * * ![^a][b] * * [b]: c * ``` * * ```html *

!^a

*

!^a

* ``` * * @type {State} */ function after(code) { // To do: use a new field to do this, this is still needed for // `micromark-extension-gfm-footnote`, but the `label-start-link` // behavior isn’t. // Hidden footnotes hook. /* c8 ignore next 3 */ return code === 94 && '_hiddenFootnoteSupport' in self.parser.constructs ? nok(code) : ok(code); } } ;// CONCATENATED MODULE: ./node_modules/.pnpm/micromark-util-classify-character@1.1.0/node_modules/micromark-util-classify-character/index.js /** * @typedef {import('micromark-util-types').Code} Code */ /** * Classify whether a code represents whitespace, punctuation, or something * else. * * Used for attention (emphasis, strong), whose sequences can open or close * based on the class of surrounding characters. * * > 👉 **Note**: eof (`null`) is seen as whitespace. * * @param {Code} code * Code. * @returns {typeof constants.characterGroupWhitespace | typeof constants.characterGroupPunctuation | undefined} * Group. */ function classifyCharacter(code) { if (code === null || markdownLineEndingOrSpace(code) || unicodeWhitespace(code)) { return 1; } if (unicodePunctuation(code)) { return 2; } } ;// CONCATENATED MODULE: ./node_modules/.pnpm/micromark-core-commonmark@1.1.0/node_modules/micromark-core-commonmark/lib/attention.js /** * @typedef {import('micromark-util-types').Code} Code * @typedef {import('micromark-util-types').Construct} Construct * @typedef {import('micromark-util-types').Event} Event * @typedef {import('micromark-util-types').Point} Point * @typedef {import('micromark-util-types').Resolver} Resolver * @typedef {import('micromark-util-types').State} State * @typedef {import('micromark-util-types').Token} Token * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext * @typedef {import('micromark-util-types').Tokenizer} Tokenizer */ /** @type {Construct} */ var attention = { name: 'attention', tokenize: tokenizeAttention, resolveAll: resolveAllAttention }; /** * Take all events and resolve attention to emphasis or strong. * * @type {Resolver} */ function resolveAllAttention(events, context) { var index = -1; /** @type {number} */ var open; /** @type {Token} */ var group; /** @type {Token} */ var text; /** @type {Token} */ var openingSequence; /** @type {Token} */ var closingSequence; /** @type {number} */ var use; /** @type {Array} */ var nextEvents; /** @type {number} */ var offset; // Walk through all events. // // Note: performance of this is fine on an mb of normal markdown, but it’s // a bottleneck for malicious stuff. while (++index < events.length) { // Find a token that can close. if (events[index][0] === 'enter' && events[index][1].type === 'attentionSequence' && events[index][1]._close) { open = index; // Now walk back to find an opener. while (open--) { // Find a token that can open the closer. if (events[open][0] === 'exit' && events[open][1].type === 'attentionSequence' && events[open][1]._open && // If the markers are the same: context.sliceSerialize(events[open][1]).charCodeAt(0) === context.sliceSerialize(events[index][1]).charCodeAt(0)) { // If the opening can close or the closing can open, // and the close size *is not* a multiple of three, // but the sum of the opening and closing size *is* multiple of three, // then don’t match. if ((events[open][1]._close || events[index][1]._open) && (events[index][1].end.offset - events[index][1].start.offset) % 3 && !((events[open][1].end.offset - events[open][1].start.offset + events[index][1].end.offset - events[index][1].start.offset) % 3)) { continue; } // Number of markers to use from the sequence. use = events[open][1].end.offset - events[open][1].start.offset > 1 && events[index][1].end.offset - events[index][1].start.offset > 1 ? 2 : 1; var start = Object.assign({}, events[open][1].end); var end = Object.assign({}, events[index][1].start); movePoint(start, -use); movePoint(end, use); openingSequence = { type: use > 1 ? 'strongSequence' : 'emphasisSequence', start: start, end: Object.assign({}, events[open][1].end) }; closingSequence = { type: use > 1 ? 'strongSequence' : 'emphasisSequence', start: Object.assign({}, events[index][1].start), end: end }; text = { type: use > 1 ? 'strongText' : 'emphasisText', start: Object.assign({}, events[open][1].end), end: Object.assign({}, events[index][1].start) }; group = { type: use > 1 ? 'strong' : 'emphasis', start: Object.assign({}, openingSequence.start), end: Object.assign({}, closingSequence.end) }; events[open][1].end = Object.assign({}, openingSequence.start); events[index][1].start = Object.assign({}, closingSequence.end); nextEvents = []; // If there are more markers in the opening, add them before. if (events[open][1].end.offset - events[open][1].start.offset) { nextEvents = push(nextEvents, [['enter', events[open][1], context], ['exit', events[open][1], context]]); } // Opening. nextEvents = push(nextEvents, [['enter', group, context], ['enter', openingSequence, context], ['exit', openingSequence, context], ['enter', text, context]]); // Always populated by defaults. // Between. nextEvents = push(nextEvents, resolveAll(context.parser.constructs.insideSpan.null, events.slice(open + 1, index), context)); // Closing. nextEvents = push(nextEvents, [['exit', text, context], ['enter', closingSequence, context], ['exit', closingSequence, context], ['exit', group, context]]); // If there are more markers in the closing, add them after. if (events[index][1].end.offset - events[index][1].start.offset) { offset = 2; nextEvents = push(nextEvents, [['enter', events[index][1], context], ['exit', events[index][1], context]]); } else { offset = 0; } splice(events, open - 1, index - open + 3, nextEvents); index = open + nextEvents.length - offset - 2; break; } } } } // Remove remaining sequences. index = -1; while (++index < events.length) { if (events[index][1].type === 'attentionSequence') { events[index][1].type = 'data'; } } return events; } /** * @this {TokenizeContext} * @type {Tokenizer} */ function tokenizeAttention(effects, ok) { var attentionMarkers = this.parser.constructs.attentionMarkers.null; var previous = this.previous; var before = classifyCharacter(previous); /** @type {NonNullable} */ var marker; return start; /** * Before a sequence. * * ```markdown * > | ** * ^ * ``` * * @type {State} */ function start(code) { marker = code; effects.enter('attentionSequence'); return inside(code); } /** * In a sequence. * * ```markdown * > | ** * ^^ * ``` * * @type {State} */ function inside(code) { if (code === marker) { effects.consume(code); return inside; } var token = effects.exit('attentionSequence'); // To do: next major: move this to resolver, just like `markdown-rs`. var after = classifyCharacter(code); // Always populated by defaults. var open = !after || after === 2 && before || attentionMarkers.includes(code); var close = !before || before === 2 && after || attentionMarkers.includes(previous); token._open = Boolean(marker === 42 ? open : open && (before || !close)); token._close = Boolean(marker === 42 ? close : close && (after || !open)); return ok(code); } } /** * Move a point a bit. * * Note: `move` only works inside lines! It’s not possible to move past other * chunks (replacement characters, tabs, or line endings). * * @param {Point} point * @param {number} offset * @returns {void} */ function movePoint(point, offset) { point.column += offset; point.offset += offset; point._bufferIndex += offset; } ;// CONCATENATED MODULE: ./node_modules/.pnpm/micromark-core-commonmark@1.1.0/node_modules/micromark-core-commonmark/lib/autolink.js /** * @typedef {import('micromark-util-types').Construct} Construct * @typedef {import('micromark-util-types').State} State * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext * @typedef {import('micromark-util-types').Tokenizer} Tokenizer */ /** @type {Construct} */ var autolink = { name: 'autolink', tokenize: tokenizeAutolink }; /** * @this {TokenizeContext} * @type {Tokenizer} */ function tokenizeAutolink(effects, ok, nok) { var size = 0; return start; /** * Start of an autolink. * * ```markdown * > | ab * ^ * > | ab * ^ * ``` * * @type {State} */ function start(code) { effects.enter('autolink'); effects.enter('autolinkMarker'); effects.consume(code); effects.exit('autolinkMarker'); effects.enter('autolinkProtocol'); return open; } /** * After `<`, at protocol or atext. * * ```markdown * > | ab * ^ * > | ab * ^ * ``` * * @type {State} */ function open(code) { if (asciiAlpha(code)) { effects.consume(code); return schemeOrEmailAtext; } return emailAtext(code); } /** * At second byte of protocol or atext. * * ```markdown * > | ab * ^ * > | ab * ^ * ``` * * @type {State} */ function schemeOrEmailAtext(code) { // ASCII alphanumeric and `+`, `-`, and `.`. if (code === 43 || code === 45 || code === 46 || asciiAlphanumeric(code)) { // Count the previous alphabetical from `open` too. size = 1; return schemeInsideOrEmailAtext(code); } return emailAtext(code); } /** * In ambiguous protocol or atext. * * ```markdown * > | ab * ^ * > | ab * ^ * ``` * * @type {State} */ function schemeInsideOrEmailAtext(code) { if (code === 58) { effects.consume(code); size = 0; return urlInside; } // ASCII alphanumeric and `+`, `-`, and `.`. if ((code === 43 || code === 45 || code === 46 || asciiAlphanumeric(code)) && size++ < 32) { effects.consume(code); return schemeInsideOrEmailAtext; } size = 0; return emailAtext(code); } /** * After protocol, in URL. * * ```markdown * > | ab * ^ * ``` * * @type {State} */ function urlInside(code) { if (code === 62) { effects.exit('autolinkProtocol'); effects.enter('autolinkMarker'); effects.consume(code); effects.exit('autolinkMarker'); effects.exit('autolink'); return ok; } // ASCII control, space, or `<`. if (code === null || code === 32 || code === 60 || asciiControl(code)) { return nok(code); } effects.consume(code); return urlInside; } /** * In email atext. * * ```markdown * > | ab * ^ * ``` * * @type {State} */ function emailAtext(code) { if (code === 64) { effects.consume(code); return emailAtSignOrDot; } if (asciiAtext(code)) { effects.consume(code); return emailAtext; } return nok(code); } /** * In label, after at-sign or dot. * * ```markdown * > | ab * ^ ^ * ``` * * @type {State} */ function emailAtSignOrDot(code) { return asciiAlphanumeric(code) ? emailLabel(code) : nok(code); } /** * In label, where `.` and `>` are allowed. * * ```markdown * > | ab * ^ * ``` * * @type {State} */ function emailLabel(code) { if (code === 46) { effects.consume(code); size = 0; return emailAtSignOrDot; } if (code === 62) { // Exit, then change the token type. effects.exit('autolinkProtocol').type = 'autolinkEmail'; effects.enter('autolinkMarker'); effects.consume(code); effects.exit('autolinkMarker'); effects.exit('autolink'); return ok; } return emailValue(code); } /** * In label, where `.` and `>` are *not* allowed. * * Though, this is also used in `emailLabel` to parse other values. * * ```markdown * > | ab * ^ * ``` * * @type {State} */ function emailValue(code) { // ASCII alphanumeric or `-`. if ((code === 45 || asciiAlphanumeric(code)) && size++ < 63) { var next = code === 45 ? emailValue : emailLabel; effects.consume(code); return next; } return nok(code); } } ;// CONCATENATED MODULE: ./node_modules/.pnpm/micromark-core-commonmark@1.1.0/node_modules/micromark-core-commonmark/lib/html-text.js /** * @typedef {import('micromark-util-types').Code} Code * @typedef {import('micromark-util-types').Construct} Construct * @typedef {import('micromark-util-types').State} State * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext * @typedef {import('micromark-util-types').Tokenizer} Tokenizer */ /** @type {Construct} */ var htmlText = { name: 'htmlText', tokenize: tokenizeHtmlText }; /** * @this {TokenizeContext} * @type {Tokenizer} */ function tokenizeHtmlText(effects, ok, nok) { var self = this; /** @type {NonNullable | undefined} */ var marker; /** @type {number} */ var index; /** @type {State} */ var returnState; return start; /** * Start of HTML (text). * * ```markdown * > | a c * ^ * ``` * * @type {State} */ function start(code) { effects.enter('htmlText'); effects.enter('htmlTextData'); effects.consume(code); return open; } /** * After `<`, at tag name or other stuff. * * ```markdown * > | a c * ^ * > | a c * ^ * > | a c * ^ * ``` * * @type {State} */ function open(code) { if (code === 33) { effects.consume(code); return declarationOpen; } if (code === 47) { effects.consume(code); return tagCloseStart; } if (code === 63) { effects.consume(code); return instruction; } // ASCII alphabetical. if (asciiAlpha(code)) { effects.consume(code); return tagOpen; } return nok(code); } /** * After ` | a c * ^ * > | a c * ^ * > | a &<]]> c * ^ * ``` * * @type {State} */ function declarationOpen(code) { if (code === 45) { effects.consume(code); return commentOpenInside; } if (code === 91) { effects.consume(code); index = 0; return cdataOpenInside; } if (asciiAlpha(code)) { effects.consume(code); return declaration; } return nok(code); } /** * In a comment, after ` | a c * ^ * ``` * * @type {State} */ function commentOpenInside(code) { if (code === 45) { effects.consume(code); return commentEnd; } return nok(code); } /** * In comment. * * ```markdown * > | a c * ^ * ``` * * @type {State} */ function comment(code) { if (code === null) { return nok(code); } if (code === 45) { effects.consume(code); return commentClose; } if (markdownLineEnding(code)) { returnState = comment; return lineEndingBefore(code); } effects.consume(code); return comment; } /** * In comment, after `-`. * * ```markdown * > | a c * ^ * ``` * * @type {State} */ function commentClose(code) { if (code === 45) { effects.consume(code); return commentEnd; } return comment(code); } /** * In comment, after `--`. * * ```markdown * > | a c * ^ * ``` * * @type {State} */ function commentEnd(code) { return code === 62 ? end(code) : code === 45 ? commentClose(code) : comment(code); } /** * After ` | a &<]]> b * ^^^^^^ * ``` * * @type {State} */ function cdataOpenInside(code) { var value = 'CDATA['; if (code === value.charCodeAt(index++)) { effects.consume(code); return index === value.length ? cdata : cdataOpenInside; } return nok(code); } /** * In CDATA. * * ```markdown * > | a &<]]> b * ^^^ * ``` * * @type {State} */ function cdata(code) { if (code === null) { return nok(code); } if (code === 93) { effects.consume(code); return cdataClose; } if (markdownLineEnding(code)) { returnState = cdata; return lineEndingBefore(code); } effects.consume(code); return cdata; } /** * In CDATA, after `]`, at another `]`. * * ```markdown * > | a &<]]> b * ^ * ``` * * @type {State} */ function cdataClose(code) { if (code === 93) { effects.consume(code); return cdataEnd; } return cdata(code); } /** * In CDATA, after `]]`, at `>`. * * ```markdown * > | a &<]]> b * ^ * ``` * * @type {State} */ function cdataEnd(code) { if (code === 62) { return end(code); } if (code === 93) { effects.consume(code); return cdataEnd; } return cdata(code); } /** * In declaration. * * ```markdown * > | a c * ^ * ``` * * @type {State} */ function declaration(code) { if (code === null || code === 62) { return end(code); } if (markdownLineEnding(code)) { returnState = declaration; return lineEndingBefore(code); } effects.consume(code); return declaration; } /** * In instruction. * * ```markdown * > | a c * ^ * ``` * * @type {State} */ function instruction(code) { if (code === null) { return nok(code); } if (code === 63) { effects.consume(code); return instructionClose; } if (markdownLineEnding(code)) { returnState = instruction; return lineEndingBefore(code); } effects.consume(code); return instruction; } /** * In instruction, after `?`, at `>`. * * ```markdown * > | a c * ^ * ``` * * @type {State} */ function instructionClose(code) { return code === 62 ? end(code) : instruction(code); } /** * After ` | a c * ^ * ``` * * @type {State} */ function tagCloseStart(code) { // ASCII alphabetical. if (asciiAlpha(code)) { effects.consume(code); return tagClose; } return nok(code); } /** * After ` | a c * ^ * ``` * * @type {State} */ function tagClose(code) { // ASCII alphanumerical and `-`. if (code === 45 || asciiAlphanumeric(code)) { effects.consume(code); return tagClose; } return tagCloseBetween(code); } /** * In closing tag, after tag name. * * ```markdown * > | a c * ^ * ``` * * @type {State} */ function tagCloseBetween(code) { if (markdownLineEnding(code)) { returnState = tagCloseBetween; return lineEndingBefore(code); } if (markdownSpace(code)) { effects.consume(code); return tagCloseBetween; } return end(code); } /** * After ` | a c * ^ * ``` * * @type {State} */ function tagOpen(code) { // ASCII alphanumerical and `-`. if (code === 45 || asciiAlphanumeric(code)) { effects.consume(code); return tagOpen; } if (code === 47 || code === 62 || markdownLineEndingOrSpace(code)) { return tagOpenBetween(code); } return nok(code); } /** * In opening tag, after tag name. * * ```markdown * > | a c * ^ * ``` * * @type {State} */ function tagOpenBetween(code) { if (code === 47) { effects.consume(code); return end; } // ASCII alphabetical and `:` and `_`. if (code === 58 || code === 95 || asciiAlpha(code)) { effects.consume(code); return tagOpenAttributeName; } if (markdownLineEnding(code)) { returnState = tagOpenBetween; return lineEndingBefore(code); } if (markdownSpace(code)) { effects.consume(code); return tagOpenBetween; } return end(code); } /** * In attribute name. * * ```markdown * > | a d * ^ * ``` * * @type {State} */ function tagOpenAttributeName(code) { // ASCII alphabetical and `-`, `.`, `:`, and `_`. if (code === 45 || code === 46 || code === 58 || code === 95 || asciiAlphanumeric(code)) { effects.consume(code); return tagOpenAttributeName; } return tagOpenAttributeNameAfter(code); } /** * After attribute name, before initializer, the end of the tag, or * whitespace. * * ```markdown * > | a d * ^ * ``` * * @type {State} */ function tagOpenAttributeNameAfter(code) { if (code === 61) { effects.consume(code); return tagOpenAttributeValueBefore; } if (markdownLineEnding(code)) { returnState = tagOpenAttributeNameAfter; return lineEndingBefore(code); } if (markdownSpace(code)) { effects.consume(code); return tagOpenAttributeNameAfter; } return tagOpenBetween(code); } /** * Before unquoted, double quoted, or single quoted attribute value, allowing * whitespace. * * ```markdown * > | a e * ^ * ``` * * @type {State} */ function tagOpenAttributeValueBefore(code) { if (code === null || code === 60 || code === 61 || code === 62 || code === 96) { return nok(code); } if (code === 34 || code === 39) { effects.consume(code); marker = code; return tagOpenAttributeValueQuoted; } if (markdownLineEnding(code)) { returnState = tagOpenAttributeValueBefore; return lineEndingBefore(code); } if (markdownSpace(code)) { effects.consume(code); return tagOpenAttributeValueBefore; } effects.consume(code); return tagOpenAttributeValueUnquoted; } /** * In double or single quoted attribute value. * * ```markdown * > | a e * ^ * ``` * * @type {State} */ function tagOpenAttributeValueQuoted(code) { if (code === marker) { effects.consume(code); marker = undefined; return tagOpenAttributeValueQuotedAfter; } if (code === null) { return nok(code); } if (markdownLineEnding(code)) { returnState = tagOpenAttributeValueQuoted; return lineEndingBefore(code); } effects.consume(code); return tagOpenAttributeValueQuoted; } /** * In unquoted attribute value. * * ```markdown * > | a e * ^ * ``` * * @type {State} */ function tagOpenAttributeValueUnquoted(code) { if (code === null || code === 34 || code === 39 || code === 60 || code === 61 || code === 96) { return nok(code); } if (code === 47 || code === 62 || markdownLineEndingOrSpace(code)) { return tagOpenBetween(code); } effects.consume(code); return tagOpenAttributeValueUnquoted; } /** * After double or single quoted attribute value, before whitespace or the end * of the tag. * * ```markdown * > | a e * ^ * ``` * * @type {State} */ function tagOpenAttributeValueQuotedAfter(code) { if (code === 47 || code === 62 || markdownLineEndingOrSpace(code)) { return tagOpenBetween(code); } return nok(code); } /** * In certain circumstances of a tag where only an `>` is allowed. * * ```markdown * > | a e * ^ * ``` * * @type {State} */ function end(code) { if (code === 62) { effects.consume(code); effects.exit('htmlTextData'); effects.exit('htmlText'); return ok; } return nok(code); } /** * At eol. * * > 👉 **Note**: we can’t have blank lines in text, so no need to worry about * > empty tokens. * * ```markdown * > | a * ``` * * @type {State} */ function lineEndingBefore(code) { effects.exit('htmlTextData'); effects.enter('lineEnding'); effects.consume(code); effects.exit('lineEnding'); return lineEndingAfter; } /** * After eol, at optional whitespace. * * > 👉 **Note**: we can’t have blank lines in text, so no need to worry about * > empty tokens. * * ```markdown * | a * ^ * ``` * * @type {State} */ function lineEndingAfter(code) { // Always populated by defaults. return markdownSpace(code) ? factorySpace(effects, lineEndingAfterPrefix, 'linePrefix', self.parser.constructs.disable.null.includes('codeIndented') ? undefined : 4)(code) : lineEndingAfterPrefix(code); } /** * After eol, after optional whitespace. * * > 👉 **Note**: we can’t have blank lines in text, so no need to worry about * > empty tokens. * * ```markdown * | a * ^ * ``` * * @type {State} */ function lineEndingAfterPrefix(code) { effects.enter('htmlTextData'); return returnState(code); } } ;// CONCATENATED MODULE: ./node_modules/.pnpm/micromark-core-commonmark@1.1.0/node_modules/micromark-core-commonmark/lib/label-start-link.js /** * @typedef {import('micromark-util-types').Construct} Construct * @typedef {import('micromark-util-types').State} State * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext * @typedef {import('micromark-util-types').Tokenizer} Tokenizer */ /** @type {Construct} */ var labelStartLink = { name: 'labelStartLink', tokenize: tokenizeLabelStartLink, resolveAll: labelEnd.resolveAll }; /** * @this {TokenizeContext} * @type {Tokenizer} */ function tokenizeLabelStartLink(effects, ok, nok) { var self = this; return start; /** * Start of label (link) start. * * ```markdown * > | a [b] c * ^ * ``` * * @type {State} */ function start(code) { effects.enter('labelLink'); effects.enter('labelMarker'); effects.consume(code); effects.exit('labelMarker'); effects.exit('labelLink'); return after; } /** @type {State} */ function after(code) { // To do: this isn’t needed in `micromark-extension-gfm-footnote`, // remove. // Hidden footnotes hook. /* c8 ignore next 3 */ return code === 94 && '_hiddenFootnoteSupport' in self.parser.constructs ? nok(code) : ok(code); } } ;// CONCATENATED MODULE: ./node_modules/.pnpm/micromark-core-commonmark@1.1.0/node_modules/micromark-core-commonmark/lib/hard-break-escape.js /** * @typedef {import('micromark-util-types').Construct} Construct * @typedef {import('micromark-util-types').State} State * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext * @typedef {import('micromark-util-types').Tokenizer} Tokenizer */ /** @type {Construct} */ var hardBreakEscape = { name: 'hardBreakEscape', tokenize: tokenizeHardBreakEscape }; /** * @this {TokenizeContext} * @type {Tokenizer} */ function tokenizeHardBreakEscape(effects, ok, nok) { return start; /** * Start of a hard break (escape). * * ```markdown * > | a\ * ^ * | b * ``` * * @type {State} */ function start(code) { effects.enter('hardBreakEscape'); effects.consume(code); return after; } /** * After `\`, at eol. * * ```markdown * > | a\ * ^ * | b * ``` * * @type {State} */ function after(code) { if (markdownLineEnding(code)) { effects.exit('hardBreakEscape'); return ok(code); } return nok(code); } } ;// CONCATENATED MODULE: ./node_modules/.pnpm/micromark-core-commonmark@1.1.0/node_modules/micromark-core-commonmark/lib/code-text.js /** * @typedef {import('micromark-util-types').Construct} Construct * @typedef {import('micromark-util-types').Previous} Previous * @typedef {import('micromark-util-types').Resolver} Resolver * @typedef {import('micromark-util-types').State} State * @typedef {import('micromark-util-types').Token} Token * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext * @typedef {import('micromark-util-types').Tokenizer} Tokenizer */ /** @type {Construct} */ var codeText = { name: 'codeText', tokenize: tokenizeCodeText, resolve: resolveCodeText, previous: previous }; // To do: next major: don’t resolve, like `markdown-rs`. /** @type {Resolver} */ function resolveCodeText(events) { var tailExitIndex = events.length - 4; var headEnterIndex = 3; /** @type {number} */ var index; /** @type {number | undefined} */ var enter; // If we start and end with an EOL or a space. if ((events[headEnterIndex][1].type === 'lineEnding' || events[headEnterIndex][1].type === 'space') && (events[tailExitIndex][1].type === 'lineEnding' || events[tailExitIndex][1].type === 'space')) { index = headEnterIndex; // And we have data. while (++index < tailExitIndex) { if (events[index][1].type === 'codeTextData') { // Then we have padding. events[headEnterIndex][1].type = 'codeTextPadding'; events[tailExitIndex][1].type = 'codeTextPadding'; headEnterIndex += 2; tailExitIndex -= 2; break; } } } // Merge adjacent spaces and data. index = headEnterIndex - 1; tailExitIndex++; while (++index <= tailExitIndex) { if (enter === undefined) { if (index !== tailExitIndex && events[index][1].type !== 'lineEnding') { enter = index; } } else if (index === tailExitIndex || events[index][1].type === 'lineEnding') { events[enter][1].type = 'codeTextData'; if (index !== enter + 2) { events[enter][1].end = events[index - 1][1].end; events.splice(enter + 2, index - enter - 2); tailExitIndex -= index - enter - 2; index = enter + 2; } enter = undefined; } } return events; } /** * @this {TokenizeContext} * @type {Previous} */ function previous(code) { // If there is a previous code, there will always be a tail. return code !== 96 || this.events[this.events.length - 1][1].type === 'characterEscape'; } /** * @this {TokenizeContext} * @type {Tokenizer} */ function tokenizeCodeText(effects, ok, nok) { var self = this; var sizeOpen = 0; /** @type {number} */ var size; /** @type {Token} */ var token; return start; /** * Start of code (text). * * ```markdown * > | `a` * ^ * > | \`a` * ^ * ``` * * @type {State} */ function start(code) { effects.enter('codeText'); effects.enter('codeTextSequence'); return sequenceOpen(code); } /** * In opening sequence. * * ```markdown * > | `a` * ^ * ``` * * @type {State} */ function sequenceOpen(code) { if (code === 96) { effects.consume(code); sizeOpen++; return sequenceOpen; } effects.exit('codeTextSequence'); return between(code); } /** * Between something and something else. * * ```markdown * > | `a` * ^^ * ``` * * @type {State} */ function between(code) { // EOF. if (code === null) { return nok(code); } // To do: next major: don’t do spaces in resolve, but when compiling, // like `markdown-rs`. // Tabs don’t work, and virtual spaces don’t make sense. if (code === 32) { effects.enter('space'); effects.consume(code); effects.exit('space'); return between; } // Closing fence? Could also be data. if (code === 96) { token = effects.enter('codeTextSequence'); size = 0; return sequenceClose(code); } if (markdownLineEnding(code)) { effects.enter('lineEnding'); effects.consume(code); effects.exit('lineEnding'); return between; } // Data. effects.enter('codeTextData'); return data(code); } /** * In data. * * ```markdown * > | `a` * ^ * ``` * * @type {State} */ function data(code) { if (code === null || code === 32 || code === 96 || markdownLineEnding(code)) { effects.exit('codeTextData'); return between(code); } effects.consume(code); return data; } /** * In closing sequence. * * ```markdown * > | `a` * ^ * ``` * * @type {State} */ function sequenceClose(code) { // More. if (code === 96) { effects.consume(code); size++; return sequenceClose; } // Done! if (size === sizeOpen) { effects.exit('codeTextSequence'); effects.exit('codeText'); return ok(code); } // More or less accents: mark as data. token.type = 'codeTextData'; return data(code); } } ;// CONCATENATED MODULE: ./node_modules/.pnpm/micromark@3.2.0/node_modules/micromark/lib/constructs.js var _document, _flowInitial, _flow, _string, _text; /** * @typedef {import('micromark-util-types').Extension} Extension */ /** @satisfies {Extension['document']} */ var constructs_document = (_document = {}, _defineProperty(_document, 42, list), _defineProperty(_document, 43, list), _defineProperty(_document, 45, list), _defineProperty(_document, 48, list), _defineProperty(_document, 49, list), _defineProperty(_document, 50, list), _defineProperty(_document, 51, list), _defineProperty(_document, 52, list), _defineProperty(_document, 53, list), _defineProperty(_document, 54, list), _defineProperty(_document, 55, list), _defineProperty(_document, 56, list), _defineProperty(_document, 57, list), _defineProperty(_document, 62, blockQuote), _document); /** @satisfies {Extension['contentInitial']} */ var contentInitial = _defineProperty({}, 91, definition); /** @satisfies {Extension['flowInitial']} */ var flowInitial = (_flowInitial = {}, _defineProperty(_flowInitial, -2, codeIndented), _defineProperty(_flowInitial, -1, codeIndented), _defineProperty(_flowInitial, 32, codeIndented), _flowInitial); /** @satisfies {Extension['flow']} */ var constructs_flow = (_flow = {}, _defineProperty(_flow, 35, headingAtx), _defineProperty(_flow, 42, thematicBreak), _defineProperty(_flow, 45, [setextUnderline, thematicBreak]), _defineProperty(_flow, 60, htmlFlow), _defineProperty(_flow, 61, setextUnderline), _defineProperty(_flow, 95, thematicBreak), _defineProperty(_flow, 96, codeFenced), _defineProperty(_flow, 126, codeFenced), _flow); /** @satisfies {Extension['string']} */ var constructs_string = (_string = {}, _defineProperty(_string, 38, characterReference), _defineProperty(_string, 92, characterEscape), _string); /** @satisfies {Extension['text']} */ var constructs_text = (_text = {}, _defineProperty(_text, -5, lineEnding), _defineProperty(_text, -4, lineEnding), _defineProperty(_text, -3, lineEnding), _defineProperty(_text, 33, labelStartImage), _defineProperty(_text, 38, characterReference), _defineProperty(_text, 42, attention), _defineProperty(_text, 60, [autolink, htmlText]), _defineProperty(_text, 91, labelStartLink), _defineProperty(_text, 92, [hardBreakEscape, characterEscape]), _defineProperty(_text, 93, labelEnd), _defineProperty(_text, 95, attention), _defineProperty(_text, 96, codeText), _text); /** @satisfies {Extension['insideSpan']} */ var insideSpan = { null: [attention, resolver] }; /** @satisfies {Extension['attentionMarkers']} */ var attentionMarkers = { null: [42, 95] }; /** @satisfies {Extension['disable']} */ var disable = { null: [] }; ;// CONCATENATED MODULE: ./node_modules/.pnpm/micromark@3.2.0/node_modules/micromark/lib/parse.js /** * @typedef {import('micromark-util-types').Create} Create * @typedef {import('micromark-util-types').FullNormalizedExtension} FullNormalizedExtension * @typedef {import('micromark-util-types').InitialConstruct} InitialConstruct * @typedef {import('micromark-util-types').ParseContext} ParseContext * @typedef {import('micromark-util-types').ParseOptions} ParseOptions */ /** * @param {ParseOptions | null | undefined} [options] * @returns {ParseContext} */ function parse_parse(options) { var settings = options || {}; var constructs = /** @type {FullNormalizedExtension} */ combineExtensions([constructs_namespaceObject].concat(toConsumableArray_toConsumableArray(settings.extensions || []))); /** @type {ParseContext} */ var parser = { defined: [], lazy: {}, constructs: constructs, content: create(content), document: create(document_document), flow: create(flow), string: create(string), text: create(text_text) }; return parser; /** * @param {InitialConstruct} initial */ function create(initial) { return creator; /** @type {Create} */ function creator(from) { return createTokenizer(parser, initial, from); } } } ;// CONCATENATED MODULE: ./node_modules/.pnpm/micromark@3.2.0/node_modules/micromark/lib/preprocess.js /** * @typedef {import('micromark-util-types').Chunk} Chunk * @typedef {import('micromark-util-types').Code} Code * @typedef {import('micromark-util-types').Encoding} Encoding * @typedef {import('micromark-util-types').Value} Value */ /** * @callback Preprocessor * @param {Value} value * @param {Encoding | null | undefined} [encoding] * @param {boolean | null | undefined} [end=false] * @returns {Array} */ var search = /[\0\t\n\r]/g; /** * @returns {Preprocessor} */ function preprocess() { var column = 1; var buffer = ''; /** @type {boolean | undefined} */ var start = true; /** @type {boolean | undefined} */ var atCarriageReturn; return preprocessor; /** @type {Preprocessor} */ function preprocessor(value, encoding, end) { /** @type {Array} */ var chunks = []; /** @type {RegExpMatchArray | null} */ var match; /** @type {number} */ var next; /** @type {number} */ var startPosition; /** @type {number} */ var endPosition; /** @type {Code} */ var code; // @ts-expect-error `Buffer` does allow an encoding. value = buffer + value.toString(encoding); startPosition = 0; buffer = ''; if (start) { // To do: `markdown-rs` actually parses BOMs (byte order mark). if (value.charCodeAt(0) === 65279) { startPosition++; } start = undefined; } while (startPosition < value.length) { search.lastIndex = startPosition; match = search.exec(value); endPosition = match && match.index !== undefined ? match.index : value.length; code = value.charCodeAt(endPosition); if (!match) { buffer = value.slice(startPosition); break; } if (code === 10 && startPosition === endPosition && atCarriageReturn) { chunks.push(-3); atCarriageReturn = undefined; } else { if (atCarriageReturn) { chunks.push(-5); atCarriageReturn = undefined; } if (startPosition < endPosition) { chunks.push(value.slice(startPosition, endPosition)); column += endPosition - startPosition; } switch (code) { case 0: { chunks.push(65533); column++; break; } case 9: { next = Math.ceil(column / 4) * 4; chunks.push(-2); while (column++ < next) chunks.push(-1); break; } case 10: { chunks.push(-4); column = 1; break; } default: { atCarriageReturn = true; column = 1; } } } startPosition = endPosition + 1; } if (end) { if (atCarriageReturn) chunks.push(-5); if (buffer) chunks.push(buffer); chunks.push(null); } return chunks; } } ;// CONCATENATED MODULE: ./node_modules/.pnpm/micromark@3.2.0/node_modules/micromark/lib/postprocess.js /** * @typedef {import('micromark-util-types').Event} Event */ /** * @param {Array} events * @returns {Array} */ function postprocess(events) { while (!subtokenize(events)) { // Empty } return events; } ;// CONCATENATED MODULE: ./node_modules/.pnpm/micromark-util-decode-numeric-character-reference@1.1.0/node_modules/micromark-util-decode-numeric-character-reference/index.js /** * Turn the number (in string form as either hexa- or plain decimal) coming from * a numeric character reference into a character. * * Sort of like `String.fromCharCode(Number.parseInt(value, base))`, but makes * non-characters and control characters safe. * * @param {string} value * Value to decode. * @param {number} base * Numeric base. * @returns {string} * Character. */ function decodeNumericCharacterReference(value, base) { var code = Number.parseInt(value, base); if ( // C0 except for HT, LF, FF, CR, space. code < 9 || code === 11 || code > 13 && code < 32 || // Control character (DEL) of C0, and C1 controls. code > 126 && code < 160 || // Lone high surrogates and low surrogates. code > 55295 && code < 57344 || // Noncharacters. code > 64975 && code < 65008 /* eslint-disable no-bitwise */ || (code & 65535) === 65535 || (code & 65535) === 65534 /* eslint-enable no-bitwise */ || // Out of range code > 1114111) { return "\uFFFD"; } return String.fromCharCode(code); } ;// CONCATENATED MODULE: ./node_modules/.pnpm/micromark-util-decode-string@1.1.0/node_modules/micromark-util-decode-string/index.js var characterEscapeOrReference = /\\([!-/:-@[-`{-~])|&(#(?:\d{1,7}|x[\da-f]{1,6})|[\da-z]{1,31});/gi; /** * Decode markdown strings (which occur in places such as fenced code info * strings, destinations, labels, and titles). * * The “string” content type allows character escapes and -references. * This decodes those. * * @param {string} value * Value to decode. * @returns {string} * Decoded value. */ function decodeString(value) { return value.replace(characterEscapeOrReference, decode); } /** * @param {string} $0 * @param {string} $1 * @param {string} $2 * @returns {string} */ function decode($0, $1, $2) { if ($1) { // Escape. return $1; } // Reference. var head = $2.charCodeAt(0); if (head === 35) { var _head = $2.charCodeAt(1); var hex = _head === 120 || _head === 88; return decodeNumericCharacterReference($2.slice(hex ? 2 : 1), hex ? 16 : 10); } return decodeNamedCharacterReference($2) || $0; } ;// CONCATENATED MODULE: ./node_modules/.pnpm/mdast-util-from-markdown@1.3.1/node_modules/mdast-util-from-markdown/lib/index.js /** * @typedef {import('micromark-util-types').Encoding} Encoding * @typedef {import('micromark-util-types').Event} Event * @typedef {import('micromark-util-types').ParseOptions} ParseOptions * @typedef {import('micromark-util-types').Token} Token * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext * @typedef {import('micromark-util-types').Value} Value * * @typedef {import('unist').Parent} UnistParent * @typedef {import('unist').Point} Point * * @typedef {import('mdast').PhrasingContent} PhrasingContent * @typedef {import('mdast').StaticPhrasingContent} StaticPhrasingContent * @typedef {import('mdast').Content} Content * @typedef {import('mdast').Break} Break * @typedef {import('mdast').Blockquote} Blockquote * @typedef {import('mdast').Code} Code * @typedef {import('mdast').Definition} Definition * @typedef {import('mdast').Emphasis} Emphasis * @typedef {import('mdast').Heading} Heading * @typedef {import('mdast').HTML} HTML * @typedef {import('mdast').Image} Image * @typedef {import('mdast').ImageReference} ImageReference * @typedef {import('mdast').InlineCode} InlineCode * @typedef {import('mdast').Link} Link * @typedef {import('mdast').LinkReference} LinkReference * @typedef {import('mdast').List} List * @typedef {import('mdast').ListItem} ListItem * @typedef {import('mdast').Paragraph} Paragraph * @typedef {import('mdast').Root} Root * @typedef {import('mdast').Strong} Strong * @typedef {import('mdast').Text} Text * @typedef {import('mdast').ThematicBreak} ThematicBreak * @typedef {import('mdast').ReferenceType} ReferenceType * @typedef {import('../index.js').CompileData} CompileData */ /** * @typedef {Root | Content} Node * @typedef {Extract} Parent * * @typedef {Omit & {type: 'fragment', children: Array}} Fragment */ /** * @callback Transform * Extra transform, to change the AST afterwards. * @param {Root} tree * Tree to transform. * @returns {Root | undefined | null | void} * New tree or nothing (in which case the current tree is used). * * @callback Handle * Handle a token. * @param {CompileContext} this * Context. * @param {Token} token * Current token. * @returns {void} * Nothing. * * @typedef {Record} Handles * Token types mapping to handles * * @callback OnEnterError * Handle the case where the `right` token is open, but it is closed (by the * `left` token) or because we reached the end of the document. * @param {Omit} this * Context. * @param {Token | undefined} left * Left token. * @param {Token} right * Right token. * @returns {void} * Nothing. * * @callback OnExitError * Handle the case where the `right` token is open but it is closed by * exiting the `left` token. * @param {Omit} this * Context. * @param {Token} left * Left token. * @param {Token} right * Right token. * @returns {void} * Nothing. * * @typedef {[Token, OnEnterError | undefined]} TokenTuple * Open token on the stack, with an optional error handler for when * that token isn’t closed properly. */ /** * @typedef Config * Configuration. * * We have our defaults, but extensions will add more. * @property {Array} canContainEols * Token types where line endings are used. * @property {Handles} enter * Opening handles. * @property {Handles} exit * Closing handles. * @property {Array} transforms * Tree transforms. * * @typedef {Partial} Extension * Change how markdown tokens from micromark are turned into mdast. * * @typedef CompileContext * mdast compiler context. * @property {Array} stack * Stack of nodes. * @property {Array} tokenStack * Stack of tokens. * @property {(key: Key) => CompileData[Key]} getData * Get data from the key/value store. * @property {(key: Key, value?: CompileData[Key]) => void} setData * Set data into the key/value store. * @property {(this: CompileContext) => void} buffer * Capture some of the output data. * @property {(this: CompileContext) => string} resume * Stop capturing and access the output data. * @property {(this: CompileContext, node: Kind, token: Token, onError?: OnEnterError) => Kind} enter * Enter a token. * @property {(this: CompileContext, token: Token, onError?: OnExitError) => Node} exit * Exit a token. * @property {TokenizeContext['sliceSerialize']} sliceSerialize * Get the string value of a token. * @property {Config} config * Configuration. * * @typedef FromMarkdownOptions * Configuration for how to build mdast. * @property {Array> | null | undefined} [mdastExtensions] * Extensions for this utility to change how tokens are turned into a tree. * * @typedef {ParseOptions & FromMarkdownOptions} Options * Configuration. */ // To do: micromark: create a registry of tokens? // To do: next major: don’t return given `Node` from `enter`. // To do: next major: remove setter/getter. var lib_own = {}.hasOwnProperty; /** * @param value * Markdown to parse. * @param encoding * Character encoding for when `value` is `Buffer`. * @param options * Configuration. * @returns * mdast tree. */ var fromMarkdown = /** * @type {( * ((value: Value, encoding: Encoding, options?: Options | null | undefined) => Root) & * ((value: Value, options?: Options | null | undefined) => Root) * )} */ /** * @param {Value} value * @param {Encoding | Options | null | undefined} [encoding] * @param {Options | null | undefined} [options] * @returns {Root} */ function fromMarkdown(value, encoding, options) { if (typeof encoding !== 'string') { options = encoding; encoding = undefined; } return compiler(options)(postprocess(parse_parse(options).document().write(preprocess()(value, encoding, true)))); }; /** * Note this compiler only understand complete buffering, not streaming. * * @param {Options | null | undefined} [options] */ function compiler(options) { /** @type {Config} */ var config = { transforms: [], canContainEols: ['emphasis', 'fragment', 'heading', 'paragraph', 'strong'], enter: { autolink: opener(link), autolinkProtocol: onenterdata, autolinkEmail: onenterdata, atxHeading: opener(heading), blockQuote: opener(blockQuote), characterEscape: onenterdata, characterReference: onenterdata, codeFenced: opener(codeFlow), codeFencedFenceInfo: buffer, codeFencedFenceMeta: buffer, codeIndented: opener(codeFlow, buffer), codeText: opener(codeText, buffer), codeTextData: onenterdata, data: onenterdata, codeFlowValue: onenterdata, definition: opener(definition), definitionDestinationString: buffer, definitionLabelString: buffer, definitionTitleString: buffer, emphasis: opener(emphasis), hardBreakEscape: opener(hardBreak), hardBreakTrailing: opener(hardBreak), htmlFlow: opener(html, buffer), htmlFlowData: onenterdata, htmlText: opener(html, buffer), htmlTextData: onenterdata, image: opener(image), label: buffer, link: opener(link), listItem: opener(listItem), listItemValue: onenterlistitemvalue, listOrdered: opener(list, onenterlistordered), listUnordered: opener(list), paragraph: opener(paragraph), reference: onenterreference, referenceString: buffer, resourceDestinationString: buffer, resourceTitleString: buffer, setextHeading: opener(heading), strong: opener(strong), thematicBreak: opener(thematicBreak) }, exit: { atxHeading: closer(), atxHeadingSequence: onexitatxheadingsequence, autolink: closer(), autolinkEmail: onexitautolinkemail, autolinkProtocol: onexitautolinkprotocol, blockQuote: closer(), characterEscapeValue: onexitdata, characterReferenceMarkerHexadecimal: onexitcharacterreferencemarker, characterReferenceMarkerNumeric: onexitcharacterreferencemarker, characterReferenceValue: onexitcharacterreferencevalue, codeFenced: closer(onexitcodefenced), codeFencedFence: onexitcodefencedfence, codeFencedFenceInfo: onexitcodefencedfenceinfo, codeFencedFenceMeta: onexitcodefencedfencemeta, codeFlowValue: onexitdata, codeIndented: closer(onexitcodeindented), codeText: closer(onexitcodetext), codeTextData: onexitdata, data: onexitdata, definition: closer(), definitionDestinationString: onexitdefinitiondestinationstring, definitionLabelString: onexitdefinitionlabelstring, definitionTitleString: onexitdefinitiontitlestring, emphasis: closer(), hardBreakEscape: closer(onexithardbreak), hardBreakTrailing: closer(onexithardbreak), htmlFlow: closer(onexithtmlflow), htmlFlowData: onexitdata, htmlText: closer(onexithtmltext), htmlTextData: onexitdata, image: closer(onexitimage), label: onexitlabel, labelText: onexitlabeltext, lineEnding: onexitlineending, link: closer(onexitlink), listItem: closer(), listOrdered: closer(), listUnordered: closer(), paragraph: closer(), referenceString: onexitreferencestring, resourceDestinationString: onexitresourcedestinationstring, resourceTitleString: onexitresourcetitlestring, resource: onexitresource, setextHeading: closer(onexitsetextheading), setextHeadingLineSequence: onexitsetextheadinglinesequence, setextHeadingText: onexitsetextheadingtext, strong: closer(), thematicBreak: closer() } }; configure(config, (options || {}).mdastExtensions || []); /** @type {CompileData} */ var data = {}; return compile; /** * Turn micromark events into an mdast tree. * * @param {Array} events * Events. * @returns {Root} * mdast tree. */ function compile(events) { /** @type {Root} */ var tree = { type: 'root', children: [] }; /** @type {Omit} */ var context = { stack: [tree], tokenStack: [], config: config, enter: enter, exit: exit, buffer: buffer, resume: resume, setData: setData, getData: getData }; /** @type {Array} */ var listStack = []; var index = -1; while (++index < events.length) { // We preprocess lists to add `listItem` tokens, and to infer whether // items the list itself are spread out. if (events[index][1].type === 'listOrdered' || events[index][1].type === 'listUnordered') { if (events[index][0] === 'enter') { listStack.push(index); } else { var tail = listStack.pop(); index = prepareList(events, tail, index); } } } index = -1; while (++index < events.length) { var handler = config[events[index][0]]; if (lib_own.call(handler, events[index][1].type)) { handler[events[index][1].type].call(Object.assign({ sliceSerialize: events[index][2].sliceSerialize }, context), events[index][1]); } } // Handle tokens still being open. if (context.tokenStack.length > 0) { var _tail = context.tokenStack[context.tokenStack.length - 1]; var _handler = _tail[1] || defaultOnError; _handler.call(context, undefined, _tail[0]); } // Figure out `root` position. tree.position = { start: lib_point(events.length > 0 ? events[0][1].start : { line: 1, column: 1, offset: 0 }), end: lib_point(events.length > 0 ? events[events.length - 2][1].end : { line: 1, column: 1, offset: 0 }) }; // Call transforms. index = -1; while (++index < config.transforms.length) { tree = config.transforms[index](tree) || tree; } return tree; } /** * @param {Array} events * @param {number} start * @param {number} length * @returns {number} */ function prepareList(events, start, length) { var index = start - 1; var containerBalance = -1; var listSpread = false; /** @type {Token | undefined} */ var listItem; /** @type {number | undefined} */ var lineIndex; /** @type {number | undefined} */ var firstBlankLineIndex; /** @type {boolean | undefined} */ var atMarker; while (++index <= length) { var event = events[index]; if (event[1].type === 'listUnordered' || event[1].type === 'listOrdered' || event[1].type === 'blockQuote') { if (event[0] === 'enter') { containerBalance++; } else { containerBalance--; } atMarker = undefined; } else if (event[1].type === 'lineEndingBlank') { if (event[0] === 'enter') { if (listItem && !atMarker && !containerBalance && !firstBlankLineIndex) { firstBlankLineIndex = index; } atMarker = undefined; } } else if (event[1].type === 'linePrefix' || event[1].type === 'listItemValue' || event[1].type === 'listItemMarker' || event[1].type === 'listItemPrefix' || event[1].type === 'listItemPrefixWhitespace') { // Empty. } else { atMarker = undefined; } if (!containerBalance && event[0] === 'enter' && event[1].type === 'listItemPrefix' || containerBalance === -1 && event[0] === 'exit' && (event[1].type === 'listUnordered' || event[1].type === 'listOrdered')) { if (listItem) { var tailIndex = index; lineIndex = undefined; while (tailIndex--) { var tailEvent = events[tailIndex]; if (tailEvent[1].type === 'lineEnding' || tailEvent[1].type === 'lineEndingBlank') { if (tailEvent[0] === 'exit') continue; if (lineIndex) { events[lineIndex][1].type = 'lineEndingBlank'; listSpread = true; } tailEvent[1].type = 'lineEnding'; lineIndex = tailIndex; } else if (tailEvent[1].type === 'linePrefix' || tailEvent[1].type === 'blockQuotePrefix' || tailEvent[1].type === 'blockQuotePrefixWhitespace' || tailEvent[1].type === 'blockQuoteMarker' || tailEvent[1].type === 'listItemIndent') { // Empty } else { break; } } if (firstBlankLineIndex && (!lineIndex || firstBlankLineIndex < lineIndex)) { listItem._spread = true; } // Fix position. listItem.end = Object.assign({}, lineIndex ? events[lineIndex][1].start : event[1].end); events.splice(lineIndex || index, 0, ['exit', listItem, event[2]]); index++; length++; } // Create a new list item. if (event[1].type === 'listItemPrefix') { listItem = { type: 'listItem', _spread: false, start: Object.assign({}, event[1].start), // @ts-expect-error: we’ll add `end` in a second. end: undefined }; // @ts-expect-error: `listItem` is most definitely defined, TS... events.splice(index, 0, ['enter', listItem, event[2]]); index++; length++; firstBlankLineIndex = undefined; atMarker = true; } } } events[start][1]._spread = listSpread; return length; } /** * Set data. * * @template {keyof CompileData} Key * Field type. * @param {Key} key * Key of field. * @param {CompileData[Key]} [value] * New value. * @returns {void} * Nothing. */ function setData(key, value) { data[key] = value; } /** * Get data. * * @template {keyof CompileData} Key * Field type. * @param {Key} key * Key of field. * @returns {CompileData[Key]} * Value. */ function getData(key) { return data[key]; } /** * Create an opener handle. * * @param {(token: Token) => Node} create * Create a node. * @param {Handle} [and] * Optional function to also run. * @returns {Handle} * Handle. */ function opener(create, and) { return open; /** * @this {CompileContext} * @param {Token} token * @returns {void} */ function open(token) { enter.call(this, create(token), token); if (and) and.call(this, token); } } /** * @this {CompileContext} * @returns {void} */ function buffer() { this.stack.push({ type: 'fragment', children: [] }); } /** * @template {Node} Kind * Node type. * @this {CompileContext} * Context. * @param {Kind} node * Node to enter. * @param {Token} token * Corresponding token. * @param {OnEnterError | undefined} [errorHandler] * Handle the case where this token is open, but it is closed by something else. * @returns {Kind} * The given node. */ function enter(node, token, errorHandler) { var parent = this.stack[this.stack.length - 1]; // @ts-expect-error: Assume `Node` can exist as a child of `parent`. parent.children.push(node); this.stack.push(node); this.tokenStack.push([token, errorHandler]); // @ts-expect-error: `end` will be patched later. node.position = { start: lib_point(token.start) }; return node; } /** * Create a closer handle. * * @param {Handle} [and] * Optional function to also run. * @returns {Handle} * Handle. */ function closer(and) { return close; /** * @this {CompileContext} * @param {Token} token * @returns {void} */ function close(token) { if (and) and.call(this, token); exit.call(this, token); } } /** * @this {CompileContext} * Context. * @param {Token} token * Corresponding token. * @param {OnExitError | undefined} [onExitError] * Handle the case where another token is open. * @returns {Node} * The closed node. */ function exit(token, onExitError) { var node = this.stack.pop(); var open = this.tokenStack.pop(); if (!open) { throw new Error('Cannot close `' + token.type + '` (' + stringifyPosition({ start: token.start, end: token.end }) + '): it’s not open'); } else if (open[0].type !== token.type) { if (onExitError) { onExitError.call(this, token, open[0]); } else { var handler = open[1] || defaultOnError; handler.call(this, token, open[0]); } } node.position.end = lib_point(token.end); return node; } /** * @this {CompileContext} * @returns {string} */ function resume() { return lib_toString(this.stack.pop()); } // // Handlers. // /** * @this {CompileContext} * @type {Handle} */ function onenterlistordered() { setData('expectingFirstListItemValue', true); } /** * @this {CompileContext} * @type {Handle} */ function onenterlistitemvalue(token) { if (getData('expectingFirstListItemValue')) { var ancestor = this.stack[this.stack.length - 2]; ancestor.start = Number.parseInt(this.sliceSerialize(token), 10); setData('expectingFirstListItemValue'); } } /** * @this {CompileContext} * @type {Handle} */ function onexitcodefencedfenceinfo() { var data = this.resume(); var node = this.stack[this.stack.length - 1]; node.lang = data; } /** * @this {CompileContext} * @type {Handle} */ function onexitcodefencedfencemeta() { var data = this.resume(); var node = this.stack[this.stack.length - 1]; node.meta = data; } /** * @this {CompileContext} * @type {Handle} */ function onexitcodefencedfence() { // Exit if this is the closing fence. if (getData('flowCodeInside')) return; this.buffer(); setData('flowCodeInside', true); } /** * @this {CompileContext} * @type {Handle} */ function onexitcodefenced() { var data = this.resume(); var node = this.stack[this.stack.length - 1]; node.value = data.replace(/^(\r?\n|\r)|(\r?\n|\r)$/g, ''); setData('flowCodeInside'); } /** * @this {CompileContext} * @type {Handle} */ function onexitcodeindented() { var data = this.resume(); var node = this.stack[this.stack.length - 1]; node.value = data.replace(/(\r?\n|\r)$/g, ''); } /** * @this {CompileContext} * @type {Handle} */ function onexitdefinitionlabelstring(token) { var label = this.resume(); var node = this.stack[this.stack.length - 1]; node.label = label; node.identifier = normalizeIdentifier(this.sliceSerialize(token)).toLowerCase(); } /** * @this {CompileContext} * @type {Handle} */ function onexitdefinitiontitlestring() { var data = this.resume(); var node = this.stack[this.stack.length - 1]; node.title = data; } /** * @this {CompileContext} * @type {Handle} */ function onexitdefinitiondestinationstring() { var data = this.resume(); var node = this.stack[this.stack.length - 1]; node.url = data; } /** * @this {CompileContext} * @type {Handle} */ function onexitatxheadingsequence(token) { var node = this.stack[this.stack.length - 1]; if (!node.depth) { var depth = this.sliceSerialize(token).length; node.depth = depth; } } /** * @this {CompileContext} * @type {Handle} */ function onexitsetextheadingtext() { setData('setextHeadingSlurpLineEnding', true); } /** * @this {CompileContext} * @type {Handle} */ function onexitsetextheadinglinesequence(token) { var node = this.stack[this.stack.length - 1]; node.depth = this.sliceSerialize(token).charCodeAt(0) === 61 ? 1 : 2; } /** * @this {CompileContext} * @type {Handle} */ function onexitsetextheading() { setData('setextHeadingSlurpLineEnding'); } /** * @this {CompileContext} * @type {Handle} */ function onenterdata(token) { var node = this.stack[this.stack.length - 1]; var tail = node.children[node.children.length - 1]; if (!tail || tail.type !== 'text') { // Add a new text node. tail = text(); // @ts-expect-error: we’ll add `end` later. tail.position = { start: lib_point(token.start) }; // @ts-expect-error: Assume `parent` accepts `text`. node.children.push(tail); } this.stack.push(tail); } /** * @this {CompileContext} * @type {Handle} */ function onexitdata(token) { var tail = this.stack.pop(); tail.value += this.sliceSerialize(token); tail.position.end = lib_point(token.end); } /** * @this {CompileContext} * @type {Handle} */ function onexitlineending(token) { var context = this.stack[this.stack.length - 1]; // If we’re at a hard break, include the line ending in there. if (getData('atHardBreak')) { var tail = context.children[context.children.length - 1]; tail.position.end = lib_point(token.end); setData('atHardBreak'); return; } if (!getData('setextHeadingSlurpLineEnding') && config.canContainEols.includes(context.type)) { onenterdata.call(this, token); onexitdata.call(this, token); } } /** * @this {CompileContext} * @type {Handle} */ function onexithardbreak() { setData('atHardBreak', true); } /** * @this {CompileContext} * @type {Handle} */ function onexithtmlflow() { var data = this.resume(); var node = this.stack[this.stack.length - 1]; node.value = data; } /** * @this {CompileContext} * @type {Handle} */ function onexithtmltext() { var data = this.resume(); var node = this.stack[this.stack.length - 1]; node.value = data; } /** * @this {CompileContext} * @type {Handle} */ function onexitcodetext() { var data = this.resume(); var node = this.stack[this.stack.length - 1]; node.value = data; } /** * @this {CompileContext} * @type {Handle} */ function onexitlink() { var node = this.stack[this.stack.length - 1]; // Note: there are also `identifier` and `label` fields on this link node! // These are used / cleaned here. // To do: clean. if (getData('inReference')) { /** @type {ReferenceType} */ var referenceType = getData('referenceType') || 'shortcut'; node.type += 'Reference'; // @ts-expect-error: mutate. node.referenceType = referenceType; // @ts-expect-error: mutate. delete node.url; delete node.title; } else { // @ts-expect-error: mutate. delete node.identifier; // @ts-expect-error: mutate. delete node.label; } setData('referenceType'); } /** * @this {CompileContext} * @type {Handle} */ function onexitimage() { var node = this.stack[this.stack.length - 1]; // Note: there are also `identifier` and `label` fields on this link node! // These are used / cleaned here. // To do: clean. if (getData('inReference')) { /** @type {ReferenceType} */ var referenceType = getData('referenceType') || 'shortcut'; node.type += 'Reference'; // @ts-expect-error: mutate. node.referenceType = referenceType; // @ts-expect-error: mutate. delete node.url; delete node.title; } else { // @ts-expect-error: mutate. delete node.identifier; // @ts-expect-error: mutate. delete node.label; } setData('referenceType'); } /** * @this {CompileContext} * @type {Handle} */ function onexitlabeltext(token) { var string = this.sliceSerialize(token); var ancestor = this.stack[this.stack.length - 2]; // @ts-expect-error: stash this on the node, as it might become a reference // later. ancestor.label = decodeString(string); // @ts-expect-error: same as above. ancestor.identifier = normalizeIdentifier(string).toLowerCase(); } /** * @this {CompileContext} * @type {Handle} */ function onexitlabel() { var fragment = this.stack[this.stack.length - 1]; var value = this.resume(); var node = this.stack[this.stack.length - 1]; // Assume a reference. setData('inReference', true); if (node.type === 'link') { /** @type {Array} */ // @ts-expect-error: Assume static phrasing content. var children = fragment.children; node.children = children; } else { node.alt = value; } } /** * @this {CompileContext} * @type {Handle} */ function onexitresourcedestinationstring() { var data = this.resume(); var node = this.stack[this.stack.length - 1]; node.url = data; } /** * @this {CompileContext} * @type {Handle} */ function onexitresourcetitlestring() { var data = this.resume(); var node = this.stack[this.stack.length - 1]; node.title = data; } /** * @this {CompileContext} * @type {Handle} */ function onexitresource() { setData('inReference'); } /** * @this {CompileContext} * @type {Handle} */ function onenterreference() { setData('referenceType', 'collapsed'); } /** * @this {CompileContext} * @type {Handle} */ function onexitreferencestring(token) { var label = this.resume(); var node = this.stack[this.stack.length - 1]; // @ts-expect-error: stash this on the node, as it might become a reference // later. node.label = label; // @ts-expect-error: same as above. node.identifier = normalizeIdentifier(this.sliceSerialize(token)).toLowerCase(); setData('referenceType', 'full'); } /** * @this {CompileContext} * @type {Handle} */ function onexitcharacterreferencemarker(token) { setData('characterReferenceType', token.type); } /** * @this {CompileContext} * @type {Handle} */ function onexitcharacterreferencevalue(token) { var data = this.sliceSerialize(token); var type = getData('characterReferenceType'); /** @type {string} */ var value; if (type) { value = decodeNumericCharacterReference(data, type === 'characterReferenceMarkerNumeric' ? 10 : 16); setData('characterReferenceType'); } else { var result = decodeNamedCharacterReference(data); value = result; } var tail = this.stack.pop(); tail.value += value; tail.position.end = lib_point(token.end); } /** * @this {CompileContext} * @type {Handle} */ function onexitautolinkprotocol(token) { onexitdata.call(this, token); var node = this.stack[this.stack.length - 1]; node.url = this.sliceSerialize(token); } /** * @this {CompileContext} * @type {Handle} */ function onexitautolinkemail(token) { onexitdata.call(this, token); var node = this.stack[this.stack.length - 1]; node.url = 'mailto:' + this.sliceSerialize(token); } // // Creaters. // /** @returns {Blockquote} */ function blockQuote() { return { type: 'blockquote', children: [] }; } /** @returns {Code} */ function codeFlow() { return { type: 'code', lang: null, meta: null, value: '' }; } /** @returns {InlineCode} */ function codeText() { return { type: 'inlineCode', value: '' }; } /** @returns {Definition} */ function definition() { return { type: 'definition', identifier: '', label: null, title: null, url: '' }; } /** @returns {Emphasis} */ function emphasis() { return { type: 'emphasis', children: [] }; } /** @returns {Heading} */ function heading() { // @ts-expect-error `depth` will be set later. return { type: 'heading', depth: undefined, children: [] }; } /** @returns {Break} */ function hardBreak() { return { type: 'break' }; } /** @returns {HTML} */ function html() { return { type: 'html', value: '' }; } /** @returns {Image} */ function image() { return { type: 'image', title: null, url: '', alt: null }; } /** @returns {Link} */ function link() { return { type: 'link', title: null, url: '', children: [] }; } /** * @param {Token} token * @returns {List} */ function list(token) { return { type: 'list', ordered: token.type === 'listOrdered', start: null, spread: token._spread, children: [] }; } /** * @param {Token} token * @returns {ListItem} */ function listItem(token) { return { type: 'listItem', spread: token._spread, checked: null, children: [] }; } /** @returns {Paragraph} */ function paragraph() { return { type: 'paragraph', children: [] }; } /** @returns {Strong} */ function strong() { return { type: 'strong', children: [] }; } /** @returns {Text} */ function text() { return { type: 'text', value: '' }; } /** @returns {ThematicBreak} */ function thematicBreak() { return { type: 'thematicBreak' }; } } /** * Copy a point-like value. * * @param {Point} d * Point-like value. * @returns {Point} * unist point. */ function lib_point(d) { return { line: d.line, column: d.column, offset: d.offset }; } /** * @param {Config} combined * @param {Array>} extensions * @returns {void} */ function configure(combined, extensions) { var index = -1; while (++index < extensions.length) { var value = extensions[index]; if (Array.isArray(value)) { configure(combined, value); } else { extension(combined, value); } } } /** * @param {Config} combined * @param {Extension} extension * @returns {void} */ function extension(combined, extension) { /** @type {keyof Extension} */ var key; for (key in extension) { if (lib_own.call(extension, key)) { if (key === 'canContainEols') { var right = extension[key]; if (right) { var _combined$key; (_combined$key = combined[key]).push.apply(_combined$key, toConsumableArray_toConsumableArray(right)); } } else if (key === 'transforms') { var _right = extension[key]; if (_right) { var _combined$key2; (_combined$key2 = combined[key]).push.apply(_combined$key2, toConsumableArray_toConsumableArray(_right)); } } else if (key === 'enter' || key === 'exit') { var _right2 = extension[key]; if (_right2) { Object.assign(combined[key], _right2); } } } } } /** @type {OnEnterError} */ function defaultOnError(left, right) { if (left) { throw new Error('Cannot close `' + left.type + '` (' + stringifyPosition({ start: left.start, end: left.end }) + '): a different token (`' + right.type + '`, ' + stringifyPosition({ start: right.start, end: right.end }) + ') is open'); } else { throw new Error('Cannot close document, a token (`' + right.type + '`, ' + stringifyPosition({ start: right.start, end: right.end }) + ') is still open'); } } ;// CONCATENATED MODULE: ./node_modules/.pnpm/remark-parse@10.0.2/node_modules/remark-parse/lib/index.js /** * @typedef {import('mdast').Root} Root * @typedef {import('mdast-util-from-markdown').Options} Options */ /** * @this {import('unified').Processor} * @type {import('unified').Plugin<[Options?] | void[], string, Root>} */ function remarkParse(options) { var _this = this; /** @type {import('unified').ParserFunction} */ var parser = function parser(doc) { // Assume options. var settings = /** @type {Options} */_this.data('settings'); return fromMarkdown(doc, Object.assign({}, settings, options, { // Note: these options are not in the readme. // The goal is for them to be set by plugins on `data` instead of being // passed by users. extensions: _this.data('micromarkExtensions') || [], mdastExtensions: _this.data('fromMarkdownExtensions') || [] })); }; Object.assign(this, { Parser: parser }); } ;// CONCATENATED MODULE: ./node_modules/.pnpm/micromark-util-sanitize-uri@1.2.0/node_modules/micromark-util-sanitize-uri/index.js /** * Make a value safe for injection as a URL. * * This encodes unsafe characters with percent-encoding and skips already * encoded sequences (see `normalizeUri`). * Further unsafe characters are encoded as character references (see * `micromark-util-encode`). * * A regex of allowed protocols can be given, in which case the URL is * sanitized. * For example, `/^(https?|ircs?|mailto|xmpp)$/i` can be used for `a[href]`, or * `/^https?$/i` for `img[src]` (this is what `github.com` allows). * If the URL includes an unknown protocol (one not matched by `protocol`, such * as a dangerous example, `javascript:`), the value is ignored. * * @param {string | undefined} url * URI to sanitize. * @param {RegExp | null | undefined} [protocol] * Allowed protocols. * @returns {string} * Sanitized URI. */ function sanitizeUri(url, protocol) { var value = encode(normalizeUri(url || '')); if (!protocol) { return value; } var colon = value.indexOf(':'); var questionMark = value.indexOf('?'); var numberSign = value.indexOf('#'); var slash = value.indexOf('/'); if ( // If there is no protocol, it’s relative. colon < 0 || // If the first colon is after a `?`, `#`, or `/`, it’s not a protocol. slash > -1 && colon > slash || questionMark > -1 && colon > questionMark || numberSign > -1 && colon > numberSign || // It is a protocol, it should be allowed. protocol.test(value.slice(0, colon))) { return value; } return ''; } /** * Normalize a URL. * * Encode unsafe characters with percent-encoding, skipping already encoded * sequences. * * @param {string} value * URI to normalize. * @returns {string} * Normalized URI. */ function normalizeUri(value) { /** @type {Array} */ var result = []; var index = -1; var start = 0; var skip = 0; while (++index < value.length) { var code = value.charCodeAt(index); /** @type {string} */ var replace = ''; // A correct percent encoded value. if (code === 37 && asciiAlphanumeric(value.charCodeAt(index + 1)) && asciiAlphanumeric(value.charCodeAt(index + 2))) { skip = 2; } // ASCII. else if (code < 128) { if (!/[!#$&-;=?-Z_a-z~]/.test(String.fromCharCode(code))) { replace = String.fromCharCode(code); } } // Astral. else if (code > 55295 && code < 57344) { var next = value.charCodeAt(index + 1); // A correct surrogate pair. if (code < 56320 && next > 56319 && next < 57344) { replace = String.fromCharCode(code, next); skip = 1; } // Lone surrogate. else { replace = "\uFFFD"; } } // Unicode. else { replace = String.fromCharCode(code); } if (replace) { result.push(value.slice(start, index), encodeURIComponent(replace)); start = index + skip + 1; replace = ''; } if (skip) { index += skip; skip = 0; } } return result.join('') + value.slice(start); } ;// CONCATENATED MODULE: ./node_modules/.pnpm/mdast-util-to-hast@12.3.0/node_modules/mdast-util-to-hast/lib/footer.js /** * @typedef {import('hast').Element} Element * @typedef {import('hast').ElementContent} ElementContent * * @typedef {import('./state.js').State} State */ /** * Generate a hast footer for called footnote definitions. * * @param {State} state * Info passed around. * @returns {Element | undefined} * `section` element or `undefined`. */ function footer(state) { /** @type {Array} */ var listItems = []; var index = -1; while (++index < state.footnoteOrder.length) { var def = state.footnoteById[state.footnoteOrder[index]]; if (!def) { continue; } var content = state.all(def); var id = String(def.identifier).toUpperCase(); var safeId = normalizeUri(id.toLowerCase()); var referenceIndex = 0; /** @type {Array} */ var backReferences = []; while (++referenceIndex <= state.footnoteCounts[id]) { /** @type {Element} */ var backReference = { type: 'element', tagName: 'a', properties: { href: '#' + state.clobberPrefix + 'fnref-' + safeId + (referenceIndex > 1 ? '-' + referenceIndex : ''), dataFootnoteBackref: true, className: ['data-footnote-backref'], ariaLabel: state.footnoteBackLabel }, children: [{ type: 'text', value: '↩' }] }; if (referenceIndex > 1) { backReference.children.push({ type: 'element', tagName: 'sup', children: [{ type: 'text', value: String(referenceIndex) }] }); } if (backReferences.length > 0) { backReferences.push({ type: 'text', value: ' ' }); } backReferences.push(backReference); } var tail = content[content.length - 1]; if (tail && tail.type === 'element' && tail.tagName === 'p') { var _tail$children; var tailTail = tail.children[tail.children.length - 1]; if (tailTail && tailTail.type === 'text') { tailTail.value += ' '; } else { tail.children.push({ type: 'text', value: ' ' }); } (_tail$children = tail.children).push.apply(_tail$children, backReferences); } else { content.push.apply(content, backReferences); } /** @type {Element} */ var listItem = { type: 'element', tagName: 'li', properties: { id: state.clobberPrefix + 'fn-' + safeId }, children: state.wrap(content, true) }; state.patch(def, listItem); listItems.push(listItem); } if (listItems.length === 0) { return; } return { type: 'element', tagName: 'section', properties: { dataFootnotes: true, className: ['footnotes'] }, children: [{ type: 'element', tagName: state.footnoteLabelTagName, properties: _objectSpread2(_objectSpread2({}, JSON.parse(JSON.stringify(state.footnoteLabelProperties))), {}, { id: 'footnote-label' }), children: [{ type: 'text', value: state.footnoteLabel }] }, { type: 'text', value: '\n' }, { type: 'element', tagName: 'ol', properties: {}, children: state.wrap(listItems, true) }, { type: 'text', value: '\n' }] }; } ;// CONCATENATED MODULE: ./node_modules/.pnpm/unist-util-is@5.2.1/node_modules/unist-util-is/lib/index.js /** * @typedef {import('unist').Node} Node * @typedef {import('unist').Parent} Parent */ /** * @typedef {Record} Props * @typedef {null | undefined | string | Props | TestFunctionAnything | Array} Test * Check for an arbitrary node, unaware of TypeScript inferral. * * @callback TestFunctionAnything * Check if a node passes a test, unaware of TypeScript inferral. * @param {unknown} this * The given context. * @param {Node} node * A node. * @param {number | null | undefined} [index] * The node’s position in its parent. * @param {Parent | null | undefined} [parent] * The node’s parent. * @returns {boolean | void} * Whether this node passes the test. */ /** * @template {Node} Kind * Node type. * @typedef {Kind['type'] | Partial | TestFunctionPredicate | Array | TestFunctionPredicate>} PredicateTest * Check for a node that can be inferred by TypeScript. */ /** * Check if a node passes a certain test. * * @template {Node} Kind * Node type. * @callback TestFunctionPredicate * Complex test function for a node that can be inferred by TypeScript. * @param {Node} node * A node. * @param {number | null | undefined} [index] * The node’s position in its parent. * @param {Parent | null | undefined} [parent] * The node’s parent. * @returns {node is Kind} * Whether this node passes the test. */ /** * @callback AssertAnything * Check that an arbitrary value is a node, unaware of TypeScript inferral. * @param {unknown} [node] * Anything (typically a node). * @param {number | null | undefined} [index] * The node’s position in its parent. * @param {Parent | null | undefined} [parent] * The node’s parent. * @returns {boolean} * Whether this is a node and passes a test. */ /** * Check if a node is a node and passes a certain node test. * * @template {Node} Kind * Node type. * @callback AssertPredicate * Check that an arbitrary value is a specific node, aware of TypeScript. * @param {unknown} [node] * Anything (typically a node). * @param {number | null | undefined} [index] * The node’s position in its parent. * @param {Parent | null | undefined} [parent] * The node’s parent. * @returns {node is Kind} * Whether this is a node and passes a test. */ /** * Check if `node` is a `Node` and whether it passes the given test. * * @param node * Thing to check, typically `Node`. * @param test * A check for a specific node. * @param index * The node’s position in its parent. * @param parent * The node’s parent. * @returns * Whether `node` is a node and passes a test. */ var is = /** * @type {( * (() => false) & * ((node: unknown, test: PredicateTest, index: number, parent: Parent, context?: unknown) => node is Kind) & * ((node: unknown, test: PredicateTest, index?: null | undefined, parent?: null | undefined, context?: unknown) => node is Kind) & * ((node: unknown, test: Test, index: number, parent: Parent, context?: unknown) => boolean) & * ((node: unknown, test?: Test, index?: null | undefined, parent?: null | undefined, context?: unknown) => boolean) * )} */ /** * @param {unknown} [node] * @param {Test} [test] * @param {number | null | undefined} [index] * @param {Parent | null | undefined} [parent] * @param {unknown} [context] * @returns {boolean} */ // eslint-disable-next-line max-params function is(node, test, index, parent, context) { var check = convert(test); if (index !== undefined && index !== null && (typeof index !== 'number' || index < 0 || index === Number.POSITIVE_INFINITY)) { throw new Error('Expected positive finite index'); } if (parent !== undefined && parent !== null && (!is(parent) || !parent.children)) { throw new Error('Expected parent node'); } if ((parent === undefined || parent === null) !== (index === undefined || index === null)) { throw new Error('Expected both parent and index'); } // @ts-expect-error Looks like a node. return node && node.type && typeof node.type === 'string' ? Boolean(check.call(context, node, index, parent)) : false; }; /** * Generate an assertion from a test. * * Useful if you’re going to test many nodes, for example when creating a * utility where something else passes a compatible test. * * The created function is a bit faster because it expects valid input only: * a `node`, `index`, and `parent`. * * @param test * * when nullish, checks if `node` is a `Node`. * * when `string`, works like passing `(node) => node.type === test`. * * when `function` checks if function passed the node is true. * * when `object`, checks that all keys in test are in node, and that they have (strictly) equal values. * * when `array`, checks if any one of the subtests pass. * @returns * An assertion. */ var convert = /** * @type {( * ((test: PredicateTest) => AssertPredicate) & * ((test?: Test) => AssertAnything) * )} */ /** * @param {Test} [test] * @returns {AssertAnything} */ function convert(test) { if (test === undefined || test === null) { return ok; } if (typeof test === 'string') { return typeFactory(test); } if (typeof test === 'object') { return Array.isArray(test) ? anyFactory(test) : propsFactory(test); } if (typeof test === 'function') { return castFactory(test); } throw new Error('Expected function, string, or object as test'); }; /** * @param {Array} tests * @returns {AssertAnything} */ function anyFactory(tests) { /** @type {Array} */ var checks = []; var index = -1; while (++index < tests.length) { checks[index] = convert(tests[index]); } return castFactory(any); /** * @this {unknown} * @param {Array} parameters * @returns {boolean} */ function any() { var index = -1; for (var _len = arguments.length, parameters = new Array(_len), _key = 0; _key < _len; _key++) { parameters[_key] = arguments[_key]; } while (++index < checks.length) { var _checks$index; if ((_checks$index = checks[index]).call.apply(_checks$index, [this].concat(parameters))) return true; } return false; } } /** * Turn an object into a test for a node with a certain fields. * * @param {Props} check * @returns {AssertAnything} */ function propsFactory(check) { return castFactory(all); /** * @param {Node} node * @returns {boolean} */ function all(node) { /** @type {string} */ var key; for (key in check) { // @ts-expect-error: hush, it sure works as an index. if (node[key] !== check[key]) return false; } return true; } } /** * Turn a string into a test for a node with a certain type. * * @param {string} check * @returns {AssertAnything} */ function typeFactory(check) { return castFactory(type); /** * @param {Node} node */ function type(node) { return node && node.type === check; } } /** * Turn a custom test into a test for a node that passes that test. * * @param {TestFunctionAnything} check * @returns {AssertAnything} */ function castFactory(check) { return assertion; /** * @this {unknown} * @param {unknown} node * @param {Array} parameters * @returns {boolean} */ function assertion(node) { for (var _len2 = arguments.length, parameters = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) { parameters[_key2 - 1] = arguments[_key2]; } return Boolean(node && typeof node === 'object' && 'type' in node && // @ts-expect-error: fine. Boolean(check.call.apply(check, [this, node].concat(parameters)))); } } function ok() { return true; } ;// CONCATENATED MODULE: ./node_modules/.pnpm/unist-util-visit-parents@5.1.3/node_modules/unist-util-visit-parents/lib/color.browser.js /** * @param {string} d * @returns {string} */ function color_browser_color(d) { return d; } ;// CONCATENATED MODULE: ./node_modules/.pnpm/unist-util-visit-parents@5.1.3/node_modules/unist-util-visit-parents/lib/index.js /** * @typedef {import('unist').Node} Node * @typedef {import('unist').Parent} Parent * @typedef {import('unist-util-is').Test} Test */ /** * @typedef {boolean | 'skip'} Action * Union of the action types. * * @typedef {number} Index * Move to the sibling at `index` next (after node itself is completely * traversed). * * Useful if mutating the tree, such as removing the node the visitor is * currently on, or any of its previous siblings. * Results less than 0 or greater than or equal to `children.length` stop * traversing the parent. * * @typedef {[(Action | null | undefined | void)?, (Index | null | undefined)?]} ActionTuple * List with one or two values, the first an action, the second an index. * * @typedef {Action | ActionTuple | Index | null | undefined | void} VisitorResult * Any value that can be returned from a visitor. */ /** * @template {Node} [Visited=Node] * Visited node type. * @template {Parent} [Ancestor=Parent] * Ancestor type. * @callback Visitor * Handle a node (matching `test`, if given). * * Visitors are free to transform `node`. * They can also transform the parent of node (the last of `ancestors`). * * Replacing `node` itself, if `SKIP` is not returned, still causes its * descendants to be walked (which is a bug). * * When adding or removing previous siblings of `node` (or next siblings, in * case of reverse), the `Visitor` should return a new `Index` to specify the * sibling to traverse after `node` is traversed. * Adding or removing next siblings of `node` (or previous siblings, in case * of reverse) is handled as expected without needing to return a new `Index`. * * Removing the children property of an ancestor still results in them being * traversed. * @param {Visited} node * Found node. * @param {Array} ancestors * Ancestors of `node`. * @returns {VisitorResult} * What to do next. * * An `Index` is treated as a tuple of `[CONTINUE, Index]`. * An `Action` is treated as a tuple of `[Action]`. * * Passing a tuple back only makes sense if the `Action` is `SKIP`. * When the `Action` is `EXIT`, that action can be returned. * When the `Action` is `CONTINUE`, `Index` can be returned. */ /** * @template {Node} [Tree=Node] * Tree type. * @template {Test} [Check=string] * Test type. * @typedef {Visitor, Check>, Extract, Parent>>} BuildVisitor * Build a typed `Visitor` function from a tree and a test. * * It will infer which values are passed as `node` and which as `parents`. */ /** * Continue traversing as normal. */ var CONTINUE = true; /** * Stop traversing immediately. */ var EXIT = false; /** * Do not traverse this node’s children. */ var SKIP = 'skip'; /** * Visit nodes, with ancestral information. * * This algorithm performs *depth-first* *tree traversal* in *preorder* * (**NLR**) or if `reverse` is given, in *reverse preorder* (**NRL**). * * You can choose for which nodes `visitor` is called by passing a `test`. * For complex tests, you should test yourself in `visitor`, as it will be * faster and will have improved type information. * * Walking the tree is an intensive task. * Make use of the return values of the visitor when possible. * Instead of walking a tree multiple times, walk it once, use `unist-util-is` * to check if a node matches, and then perform different operations. * * You can change the tree. * See `Visitor` for more info. * * @param tree * Tree to traverse. * @param test * `unist-util-is`-compatible test * @param visitor * Handle each node. * @param reverse * Traverse in reverse preorder (NRL) instead of the default preorder (NLR). * @returns * Nothing. */ var visitParents = /** * @type {( * ((tree: Tree, test: Check, visitor: BuildVisitor, reverse?: boolean | null | undefined) => void) & * ((tree: Tree, visitor: BuildVisitor, reverse?: boolean | null | undefined) => void) * )} */ /** * @param {Node} tree * @param {Test} test * @param {Visitor} visitor * @param {boolean | null | undefined} [reverse] * @returns {void} */ function visitParents(tree, test, visitor, reverse) { if (typeof test === 'function' && typeof visitor !== 'function') { reverse = visitor; // @ts-expect-error no visitor given, so `visitor` is test. visitor = test; test = null; } var is = convert(test); var step = reverse ? -1 : 1; factory(tree, undefined, [])(); /** * @param {Node} node * @param {number | undefined} index * @param {Array} parents */ function factory(node, index, parents) { /** @type {Record} */ // @ts-expect-error: hush var value = node && typeof node === 'object' ? node : {}; if (typeof value.type === 'string') { var name = // `hast` typeof value.tagName === 'string' ? value.tagName : // `xast` typeof value.name === 'string' ? value.name : undefined; Object.defineProperty(visit, 'name', { value: 'node (' + color_browser_color(node.type + (name ? '<' + name + '>' : '')) + ')' }); } return visit; function visit() { /** @type {ActionTuple} */ var result = []; /** @type {ActionTuple} */ var subresult; /** @type {number} */ var offset; /** @type {Array} */ var grandparents; if (!test || is(node, index, parents[parents.length - 1] || null)) { result = toResult(visitor(node, parents)); if (result[0] === EXIT) { return result; } } // @ts-expect-error looks like a parent. if (node.children && result[0] !== SKIP) { // @ts-expect-error looks like a parent. offset = (reverse ? node.children.length : -1) + step; // @ts-expect-error looks like a parent. grandparents = parents.concat(node); // @ts-expect-error looks like a parent. while (offset > -1 && offset < node.children.length) { // @ts-expect-error looks like a parent. subresult = factory(node.children[offset], offset, grandparents)(); if (subresult[0] === EXIT) { return subresult; } offset = typeof subresult[1] === 'number' ? subresult[1] : offset + step; } } return result; } } }; /** * Turn a return value into a clean result. * * @param {VisitorResult} value * Valid return values from visitors. * @returns {ActionTuple} * Clean result. */ function toResult(value) { if (Array.isArray(value)) { return value; } if (typeof value === 'number') { return [CONTINUE, value]; } return [value]; } ;// CONCATENATED MODULE: ./node_modules/.pnpm/unist-util-visit@4.1.2/node_modules/unist-util-visit/lib/index.js /** * @typedef {import('unist').Node} Node * @typedef {import('unist').Parent} Parent * @typedef {import('unist-util-is').Test} Test * @typedef {import('unist-util-visit-parents').VisitorResult} VisitorResult */ /** * Check if `Child` can be a child of `Ancestor`. * * Returns the ancestor when `Child` can be a child of `Ancestor`, or returns * `never`. * * @template {Node} Ancestor * Node type. * @template {Node} Child * Node type. * @typedef {( * Ancestor extends Parent * ? Child extends Ancestor['children'][number] * ? Ancestor * : never * : never * )} ParentsOf */ /** * @template {Node} [Visited=Node] * Visited node type. * @template {Parent} [Ancestor=Parent] * Ancestor type. * @callback Visitor * Handle a node (matching `test`, if given). * * Visitors are free to transform `node`. * They can also transform `parent`. * * Replacing `node` itself, if `SKIP` is not returned, still causes its * descendants to be walked (which is a bug). * * When adding or removing previous siblings of `node` (or next siblings, in * case of reverse), the `Visitor` should return a new `Index` to specify the * sibling to traverse after `node` is traversed. * Adding or removing next siblings of `node` (or previous siblings, in case * of reverse) is handled as expected without needing to return a new `Index`. * * Removing the children property of `parent` still results in them being * traversed. * @param {Visited} node * Found node. * @param {Visited extends Node ? number | null : never} index * Index of `node` in `parent`. * @param {Ancestor extends Node ? Ancestor | null : never} parent * Parent of `node`. * @returns {VisitorResult} * What to do next. * * An `Index` is treated as a tuple of `[CONTINUE, Index]`. * An `Action` is treated as a tuple of `[Action]`. * * Passing a tuple back only makes sense if the `Action` is `SKIP`. * When the `Action` is `EXIT`, that action can be returned. * When the `Action` is `CONTINUE`, `Index` can be returned. */ /** * Build a typed `Visitor` function from a node and all possible parents. * * It will infer which values are passed as `node` and which as `parent`. * * @template {Node} Visited * Node type. * @template {Parent} Ancestor * Parent type. * @typedef {Visitor>} BuildVisitorFromMatch */ /** * Build a typed `Visitor` function from a list of descendants and a test. * * It will infer which values are passed as `node` and which as `parent`. * * @template {Node} Descendant * Node type. * @template {Test} Check * Test type. * @typedef {( * BuildVisitorFromMatch< * import('unist-util-visit-parents/complex-types.js').Matches, * Extract * > * )} BuildVisitorFromDescendants */ /** * Build a typed `Visitor` function from a tree and a test. * * It will infer which values are passed as `node` and which as `parent`. * * @template {Node} [Tree=Node] * Node type. * @template {Test} [Check=string] * Test type. * @typedef {( * BuildVisitorFromDescendants< * import('unist-util-visit-parents/complex-types.js').InclusiveDescendant, * Check * > * )} BuildVisitor */ /** * Visit nodes. * * This algorithm performs *depth-first* *tree traversal* in *preorder* * (**NLR**) or if `reverse` is given, in *reverse preorder* (**NRL**). * * You can choose for which nodes `visitor` is called by passing a `test`. * For complex tests, you should test yourself in `visitor`, as it will be * faster and will have improved type information. * * Walking the tree is an intensive task. * Make use of the return values of the visitor when possible. * Instead of walking a tree multiple times, walk it once, use `unist-util-is` * to check if a node matches, and then perform different operations. * * You can change the tree. * See `Visitor` for more info. * * @param tree * Tree to traverse. * @param test * `unist-util-is`-compatible test * @param visitor * Handle each node. * @param reverse * Traverse in reverse preorder (NRL) instead of the default preorder (NLR). * @returns * Nothing. */ var visit = /** * @type {( * ((tree: Tree, test: Check, visitor: BuildVisitor, reverse?: boolean | null | undefined) => void) & * ((tree: Tree, visitor: BuildVisitor, reverse?: boolean | null | undefined) => void) * )} */ /** * @param {Node} tree * @param {Test} test * @param {Visitor} visitor * @param {boolean | null | undefined} [reverse] * @returns {void} */ function visit(tree, test, visitor, reverse) { if (typeof test === 'function' && typeof visitor !== 'function') { reverse = visitor; visitor = test; test = null; } visitParents(tree, test, overload, reverse); /** * @param {Node} node * @param {Array} parents */ function overload(node, parents) { var parent = parents[parents.length - 1]; return visitor(node, parent ? parent.children.indexOf(node) : null, parent); } }; ;// CONCATENATED MODULE: ./node_modules/.pnpm/unist-util-position@4.0.4/node_modules/unist-util-position/lib/index.js /** * @typedef {import('unist').Position} Position * @typedef {import('unist').Node} Node * @typedef {import('unist').Point} Point */ /** * @typedef NodeLike * @property {string} type * @property {PositionLike | null | undefined} [position] * * @typedef PositionLike * @property {PointLike | null | undefined} [start] * @property {PointLike | null | undefined} [end] * * @typedef PointLike * @property {number | null | undefined} [line] * @property {number | null | undefined} [column] * @property {number | null | undefined} [offset] */ /** * Get the starting point of `node`. * * @param node * Node. * @returns * Point. */ var pointStart = unist_util_position_lib_point('start'); /** * Get the ending point of `node`. * * @param node * Node. * @returns * Point. */ var pointEnd = unist_util_position_lib_point('end'); /** * Get the positional info of `node`. * * @param {NodeLike | Node | null | undefined} [node] * Node. * @returns {Position} * Position. */ function unist_util_position_lib_position(node) { return { start: pointStart(node), end: pointEnd(node) }; } /** * Get the positional info of `node`. * * @param {'start' | 'end'} type * Side. * @returns * Getter. */ function unist_util_position_lib_point(type) { return point; /** * Get the point info of `node` at a bound side. * * @param {NodeLike | Node | null | undefined} [node] * @returns {Point} */ function point(node) { var point = node && node.position && node.position[type] || {}; // To do: next major: don’t return points when invalid. return { // @ts-expect-error: in practice, null is allowed. line: point.line || null, // @ts-expect-error: in practice, null is allowed. column: point.column || null, // @ts-expect-error: in practice, null is allowed. offset: point.offset > -1 ? point.offset : null }; } } ;// CONCATENATED MODULE: ./node_modules/.pnpm/unist-util-generated@2.0.1/node_modules/unist-util-generated/lib/index.js /** * @typedef PointLike * @property {number | null | undefined} [line] * @property {number | null | undefined} [column] * @property {number | null | undefined} [offset] * * @typedef PositionLike * @property {PointLike | null | undefined} [start] * @property {PointLike | null | undefined} [end] * * @typedef NodeLike * @property {PositionLike | null | undefined} [position] */ /** * Check if `node` is generated. * * @param {NodeLike | null | undefined} [node] * Node to check. * @returns {boolean} * Whether `node` is generated (does not have positional info). */ function generated(node) { return !node || !node.position || !node.position.start || !node.position.start.line || !node.position.start.column || !node.position.end || !node.position.end.line || !node.position.end.column; } ;// CONCATENATED MODULE: ./node_modules/.pnpm/mdast-util-definitions@5.1.2/node_modules/mdast-util-definitions/lib/index.js /** * @typedef {import('mdast').Root} Root * @typedef {import('mdast').Content} Content * @typedef {import('mdast').Definition} Definition */ /** * @typedef {Root | Content} Node * * @callback GetDefinition * Get a definition by identifier. * @param {string | null | undefined} [identifier] * Identifier of definition. * @returns {Definition | null} * Definition corresponding to `identifier` or `null`. */ var mdast_util_definitions_lib_own = {}.hasOwnProperty; /** * Find definitions in `tree`. * * Uses CommonMark precedence, which means that earlier definitions are * preferred over duplicate later definitions. * * @param {Node} tree * Tree to check. * @returns {GetDefinition} * Getter. */ function definitions(tree) { /** @type {Record} */ var cache = Object.create(null); if (!tree || !tree.type) { throw new Error('mdast-util-definitions expected node'); } visit(tree, 'definition', function (definition) { var id = clean(definition.identifier); if (id && !mdast_util_definitions_lib_own.call(cache, id)) { cache[id] = definition; } }); return definition; /** @type {GetDefinition} */ function definition(identifier) { var id = clean(identifier); // To do: next major: return `undefined` when not found. return id && mdast_util_definitions_lib_own.call(cache, id) ? cache[id] : null; } } /** * @param {string | null | undefined} [value] * @returns {string} */ function clean(value) { return String(value || '').toUpperCase(); } ;// CONCATENATED MODULE: ./node_modules/.pnpm/mdast-util-to-hast@12.3.0/node_modules/mdast-util-to-hast/lib/handlers/blockquote.js /** * @typedef {import('hast').Element} Element * @typedef {import('mdast').Blockquote} Blockquote * @typedef {import('../state.js').State} State */ /** * Turn an mdast `blockquote` node into hast. * * @param {State} state * Info passed around. * @param {Blockquote} node * mdast node. * @returns {Element} * hast node. */ function blockquote(state, node) { /** @type {Element} */ var result = { type: 'element', tagName: 'blockquote', properties: {}, children: state.wrap(state.all(node), true) }; state.patch(node, result); return state.applyData(node, result); } ;// CONCATENATED MODULE: ./node_modules/.pnpm/mdast-util-to-hast@12.3.0/node_modules/mdast-util-to-hast/lib/handlers/break.js /** * @typedef {import('hast').Element} Element * @typedef {import('hast').Text} Text * @typedef {import('mdast').Break} Break * @typedef {import('../state.js').State} State */ /** * Turn an mdast `break` node into hast. * * @param {State} state * Info passed around. * @param {Break} node * mdast node. * @returns {Array} * hast element content. */ function hardBreak(state, node) { /** @type {Element} */ var result = { type: 'element', tagName: 'br', properties: {}, children: [] }; state.patch(node, result); return [state.applyData(node, result), { type: 'text', value: '\n' }]; } ;// CONCATENATED MODULE: ./node_modules/.pnpm/mdast-util-to-hast@12.3.0/node_modules/mdast-util-to-hast/lib/handlers/code.js /** * @typedef {import('hast').Element} Element * @typedef {import('hast').Properties} Properties * @typedef {import('mdast').Code} Code * @typedef {import('../state.js').State} State */ /** * Turn an mdast `code` node into hast. * * @param {State} state * Info passed around. * @param {Code} node * mdast node. * @returns {Element} * hast node. */ function code(state, node) { var value = node.value ? node.value + '\n' : ''; // To do: next major, use `node.lang` w/o regex, the splitting’s been going // on for years in remark now. var lang = node.lang ? node.lang.match(/^[^ \t]+(?=[ \t]|$)/) : null; /** @type {Properties} */ var properties = {}; if (lang) { properties.className = ['language-' + lang]; } // Create ``. /** @type {Element} */ var result = { type: 'element', tagName: 'code', properties: properties, children: [{ type: 'text', value: value }] }; if (node.meta) { result.data = { meta: node.meta }; } state.patch(node, result); result = state.applyData(node, result); // Create `
`.
  result = {
    type: 'element',
    tagName: 'pre',
    properties: {},
    children: [result]
  };
  state.patch(node, result);
  return result;
}
;// CONCATENATED MODULE: ./node_modules/.pnpm/mdast-util-to-hast@12.3.0/node_modules/mdast-util-to-hast/lib/handlers/delete.js
/**
 * @typedef {import('hast').Element} Element
 * @typedef {import('mdast').Delete} Delete
 * @typedef {import('../state.js').State} State

 */

/**
 * Turn an mdast `delete` node into hast.
 *
 * @param {State} state
 *   Info passed around.
 * @param {Delete} node
 *   mdast node.
 * @returns {Element}
 *   hast node.
 */
function strikethrough(state, node) {
  /** @type {Element} */
  var result = {
    type: 'element',
    tagName: 'del',
    properties: {},
    children: state.all(node)
  };
  state.patch(node, result);
  return state.applyData(node, result);
}
;// CONCATENATED MODULE: ./node_modules/.pnpm/mdast-util-to-hast@12.3.0/node_modules/mdast-util-to-hast/lib/handlers/emphasis.js
/**
 * @typedef {import('hast').Element} Element
 * @typedef {import('mdast').Emphasis} Emphasis
 * @typedef {import('../state.js').State} State
 */

/**
 * Turn an mdast `emphasis` node into hast.
 *
 * @param {State} state
 *   Info passed around.
 * @param {Emphasis} node
 *   mdast node.
 * @returns {Element}
 *   hast node.
 */
function emphasis(state, node) {
  /** @type {Element} */
  var result = {
    type: 'element',
    tagName: 'em',
    properties: {},
    children: state.all(node)
  };
  state.patch(node, result);
  return state.applyData(node, result);
}
;// CONCATENATED MODULE: ./node_modules/.pnpm/mdast-util-to-hast@12.3.0/node_modules/mdast-util-to-hast/lib/handlers/footnote-reference.js
/**
 * @typedef {import('mdast').FootnoteReference} FootnoteReference
 * @typedef {import('hast').Element} Element
 * @typedef {import('../state.js').State} State
 */



/**
 * Turn an mdast `footnoteReference` node into hast.
 *
 * @param {State} state
 *   Info passed around.
 * @param {FootnoteReference} node
 *   mdast node.
 * @returns {Element}
 *   hast node.
 */
function footnoteReference(state, node) {
  var id = String(node.identifier).toUpperCase();
  var safeId = normalizeUri(id.toLowerCase());
  var index = state.footnoteOrder.indexOf(id);
  /** @type {number} */
  var counter;
  if (index === -1) {
    state.footnoteOrder.push(id);
    state.footnoteCounts[id] = 1;
    counter = state.footnoteOrder.length;
  } else {
    state.footnoteCounts[id]++;
    counter = index + 1;
  }
  var reuseCounter = state.footnoteCounts[id];

  /** @type {Element} */
  var link = {
    type: 'element',
    tagName: 'a',
    properties: {
      href: '#' + state.clobberPrefix + 'fn-' + safeId,
      id: state.clobberPrefix + 'fnref-' + safeId + (reuseCounter > 1 ? '-' + reuseCounter : ''),
      dataFootnoteRef: true,
      ariaDescribedBy: ['footnote-label']
    },
    children: [{
      type: 'text',
      value: String(counter)
    }]
  };
  state.patch(node, link);

  /** @type {Element} */
  var sup = {
    type: 'element',
    tagName: 'sup',
    properties: {},
    children: [link]
  };
  state.patch(node, sup);
  return state.applyData(node, sup);
}
;// CONCATENATED MODULE: ./node_modules/.pnpm/mdast-util-to-hast@12.3.0/node_modules/mdast-util-to-hast/lib/handlers/footnote.js
/**
 * @typedef {import('hast').Element} Element
 * @typedef {import('mdast').Footnote} Footnote
 * @typedef {import('../state.js').State} State
 */



// To do: when both:
// * 
// * 
// …are archived, remove this (also from mdast).
// These inline notes are not used in GFM.

/**
 * Turn an mdast `footnote` node into hast.
 *
 * @param {State} state
 *   Info passed around.
 * @param {Footnote} node
 *   mdast node.
 * @returns {Element}
 *   hast node.
 */
function footnote(state, node) {
  var footnoteById = state.footnoteById;
  var no = 1;
  while (no in footnoteById) no++;
  var identifier = String(no);
  footnoteById[identifier] = {
    type: 'footnoteDefinition',
    identifier: identifier,
    children: [{
      type: 'paragraph',
      children: node.children
    }],
    position: node.position
  };
  return footnoteReference(state, {
    type: 'footnoteReference',
    identifier: identifier,
    position: node.position
  });
}
;// CONCATENATED MODULE: ./node_modules/.pnpm/mdast-util-to-hast@12.3.0/node_modules/mdast-util-to-hast/lib/handlers/heading.js
/**
 * @typedef {import('hast').Element} Element
 * @typedef {import('mdast').Heading} Heading
 * @typedef {import('../state.js').State} State
 */

/**
 * Turn an mdast `heading` node into hast.
 *
 * @param {State} state
 *   Info passed around.
 * @param {Heading} node
 *   mdast node.
 * @returns {Element}
 *   hast node.
 */
function heading(state, node) {
  /** @type {Element} */
  var result = {
    type: 'element',
    tagName: 'h' + node.depth,
    properties: {},
    children: state.all(node)
  };
  state.patch(node, result);
  return state.applyData(node, result);
}
;// CONCATENATED MODULE: ./node_modules/.pnpm/mdast-util-to-hast@12.3.0/node_modules/mdast-util-to-hast/lib/handlers/html.js
/**
 * @typedef {import('hast').Element} Element
 * @typedef {import('mdast').HTML} Html
 * @typedef {import('../state.js').State} State
 * @typedef {import('../../index.js').Raw} Raw
 */

/**
 * Turn an mdast `html` node into hast (`raw` node in dangerous mode, otherwise
 * nothing).
 *
 * @param {State} state
 *   Info passed around.
 * @param {Html} node
 *   mdast node.
 * @returns {Raw | Element | null}
 *   hast node.
 */
function html(state, node) {
  if (state.dangerous) {
    /** @type {Raw} */
    var result = {
      type: 'raw',
      value: node.value
    };
    state.patch(node, result);
    return state.applyData(node, result);
  }

  // To do: next major: return `undefined`.
  return null;
}
;// CONCATENATED MODULE: ./node_modules/.pnpm/mdast-util-to-hast@12.3.0/node_modules/mdast-util-to-hast/lib/revert.js
/**
 * @typedef {import('hast').ElementContent} ElementContent
 *
 * @typedef {import('mdast').Content} Content
 * @typedef {import('mdast').Reference} Reference
 * @typedef {import('mdast').Root} Root
 *
 * @typedef {import('./state.js').State} State
 */

/**
 * @typedef {Root | Content} Nodes
 * @typedef {Extract} References
 */

// To do: next major: always return array.

/**
 * Return the content of a reference without definition as plain text.
 *
 * @param {State} state
 *   Info passed around.
 * @param {References} node
 *   Reference node (image, link).
 * @returns {ElementContent | Array}
 *   hast content.
 */
function revert(state, node) {
  var subtype = node.referenceType;
  var suffix = ']';
  if (subtype === 'collapsed') {
    suffix += '[]';
  } else if (subtype === 'full') {
    suffix += '[' + (node.label || node.identifier) + ']';
  }
  if (node.type === 'imageReference') {
    return {
      type: 'text',
      value: '![' + node.alt + suffix
    };
  }
  var contents = state.all(node);
  var head = contents[0];
  if (head && head.type === 'text') {
    head.value = '[' + head.value;
  } else {
    contents.unshift({
      type: 'text',
      value: '['
    });
  }
  var tail = contents[contents.length - 1];
  if (tail && tail.type === 'text') {
    tail.value += suffix;
  } else {
    contents.push({
      type: 'text',
      value: suffix
    });
  }
  return contents;
}
;// CONCATENATED MODULE: ./node_modules/.pnpm/mdast-util-to-hast@12.3.0/node_modules/mdast-util-to-hast/lib/handlers/image-reference.js
/**
 * @typedef {import('hast').ElementContent} ElementContent
 * @typedef {import('hast').Element} Element
 * @typedef {import('hast').Properties} Properties
 * @typedef {import('mdast').ImageReference} ImageReference
 * @typedef {import('../state.js').State} State
 */




/**
 * Turn an mdast `imageReference` node into hast.
 *
 * @param {State} state
 *   Info passed around.
 * @param {ImageReference} node
 *   mdast node.
 * @returns {ElementContent | Array}
 *   hast node.
 */
function imageReference(state, node) {
  var def = state.definition(node.identifier);
  if (!def) {
    return revert(state, node);
  }

  /** @type {Properties} */
  var properties = {
    src: normalizeUri(def.url || ''),
    alt: node.alt
  };
  if (def.title !== null && def.title !== undefined) {
    properties.title = def.title;
  }

  /** @type {Element} */
  var result = {
    type: 'element',
    tagName: 'img',
    properties: properties,
    children: []
  };
  state.patch(node, result);
  return state.applyData(node, result);
}
;// CONCATENATED MODULE: ./node_modules/.pnpm/mdast-util-to-hast@12.3.0/node_modules/mdast-util-to-hast/lib/handlers/image.js
/**
 * @typedef {import('hast').Element} Element
 * @typedef {import('hast').Properties} Properties
 * @typedef {import('mdast').Image} Image
 * @typedef {import('../state.js').State} State
 */



/**
 * Turn an mdast `image` node into hast.
 *
 * @param {State} state
 *   Info passed around.
 * @param {Image} node
 *   mdast node.
 * @returns {Element}
 *   hast node.
 */
function image_image(state, node) {
  /** @type {Properties} */
  var properties = {
    src: normalizeUri(node.url)
  };
  if (node.alt !== null && node.alt !== undefined) {
    properties.alt = node.alt;
  }
  if (node.title !== null && node.title !== undefined) {
    properties.title = node.title;
  }

  /** @type {Element} */
  var result = {
    type: 'element',
    tagName: 'img',
    properties: properties,
    children: []
  };
  state.patch(node, result);
  return state.applyData(node, result);
}
;// CONCATENATED MODULE: ./node_modules/.pnpm/mdast-util-to-hast@12.3.0/node_modules/mdast-util-to-hast/lib/handlers/inline-code.js
/**
 * @typedef {import('hast').Element} Element
 * @typedef {import('hast').Text} Text
 * @typedef {import('mdast').InlineCode} InlineCode
 * @typedef {import('../state.js').State} State
 */

/**
 * Turn an mdast `inlineCode` node into hast.
 *
 * @param {State} state
 *   Info passed around.
 * @param {InlineCode} node
 *   mdast node.
 * @returns {Element}
 *   hast node.
 */
function inlineCode(state, node) {
  /** @type {Text} */
  var text = {
    type: 'text',
    value: node.value.replace(/\r?\n|\r/g, ' ')
  };
  state.patch(node, text);

  /** @type {Element} */
  var result = {
    type: 'element',
    tagName: 'code',
    properties: {},
    children: [text]
  };
  state.patch(node, result);
  return state.applyData(node, result);
}
;// CONCATENATED MODULE: ./node_modules/.pnpm/mdast-util-to-hast@12.3.0/node_modules/mdast-util-to-hast/lib/handlers/link-reference.js
/**
 * @typedef {import('hast').Element} Element
 * @typedef {import('hast').ElementContent} ElementContent
 * @typedef {import('hast').Properties} Properties
 * @typedef {import('mdast').LinkReference} LinkReference
 * @typedef {import('../state.js').State} State
 */




/**
 * Turn an mdast `linkReference` node into hast.
 *
 * @param {State} state
 *   Info passed around.
 * @param {LinkReference} node
 *   mdast node.
 * @returns {ElementContent | Array}
 *   hast node.
 */
function linkReference(state, node) {
  var def = state.definition(node.identifier);
  if (!def) {
    return revert(state, node);
  }

  /** @type {Properties} */
  var properties = {
    href: normalizeUri(def.url || '')
  };
  if (def.title !== null && def.title !== undefined) {
    properties.title = def.title;
  }

  /** @type {Element} */
  var result = {
    type: 'element',
    tagName: 'a',
    properties: properties,
    children: state.all(node)
  };
  state.patch(node, result);
  return state.applyData(node, result);
}
;// CONCATENATED MODULE: ./node_modules/.pnpm/mdast-util-to-hast@12.3.0/node_modules/mdast-util-to-hast/lib/handlers/link.js
/**
 * @typedef {import('hast').Element} Element
 * @typedef {import('hast').Properties} Properties
 * @typedef {import('mdast').Link} Link
 * @typedef {import('../state.js').State} State
 */



/**
 * Turn an mdast `link` node into hast.
 *
 * @param {State} state
 *   Info passed around.
 * @param {Link} node
 *   mdast node.
 * @returns {Element}
 *   hast node.
 */
function link_link(state, node) {
  /** @type {Properties} */
  var properties = {
    href: normalizeUri(node.url)
  };
  if (node.title !== null && node.title !== undefined) {
    properties.title = node.title;
  }

  /** @type {Element} */
  var result = {
    type: 'element',
    tagName: 'a',
    properties: properties,
    children: state.all(node)
  };
  state.patch(node, result);
  return state.applyData(node, result);
}
;// CONCATENATED MODULE: ./node_modules/.pnpm/mdast-util-to-hast@12.3.0/node_modules/mdast-util-to-hast/lib/handlers/list-item.js

/**
 * @typedef {import('hast').Element} Element
 * @typedef {import('hast').ElementContent} ElementContent
 * @typedef {import('hast').Properties} Properties
 * @typedef {import('mdast').Content} Content
 * @typedef {import('mdast').ListItem} ListItem
 * @typedef {import('mdast').Parent} Parent
 * @typedef {import('mdast').Root} Root
 * @typedef {import('../state.js').State} State
 */

/**
 * @typedef {Root | Content} Nodes
 * @typedef {Extract} Parents
 */

/**
 * Turn an mdast `listItem` node into hast.
 *
 * @param {State} state
 *   Info passed around.
 * @param {ListItem} node
 *   mdast node.
 * @param {Parents | null | undefined} parent
 *   Parent of `node`.
 * @returns {Element}
 *   hast node.
 */
function listItem(state, node, parent) {
  var results = state.all(node);
  var loose = parent ? listLoose(parent) : listItemLoose(node);
  /** @type {Properties} */
  var properties = {};
  /** @type {Array} */
  var children = [];
  if (typeof node.checked === 'boolean') {
    var head = results[0];
    /** @type {Element} */
    var paragraph;
    if (head && head.type === 'element' && head.tagName === 'p') {
      paragraph = head;
    } else {
      paragraph = {
        type: 'element',
        tagName: 'p',
        properties: {},
        children: []
      };
      results.unshift(paragraph);
    }
    if (paragraph.children.length > 0) {
      paragraph.children.unshift({
        type: 'text',
        value: ' '
      });
    }
    paragraph.children.unshift({
      type: 'element',
      tagName: 'input',
      properties: {
        type: 'checkbox',
        checked: node.checked,
        disabled: true
      },
      children: []
    });

    // According to github-markdown-css, this class hides bullet.
    // See: .
    properties.className = ['task-list-item'];
  }
  var index = -1;
  while (++index < results.length) {
    var child = results[index];

    // Add eols before nodes, except if this is a loose, first paragraph.
    if (loose || index !== 0 || child.type !== 'element' || child.tagName !== 'p') {
      children.push({
        type: 'text',
        value: '\n'
      });
    }
    if (child.type === 'element' && child.tagName === 'p' && !loose) {
      children.push.apply(children, toConsumableArray_toConsumableArray(child.children));
    } else {
      children.push(child);
    }
  }
  var tail = results[results.length - 1];

  // Add a final eol.
  if (tail && (loose || tail.type !== 'element' || tail.tagName !== 'p')) {
    children.push({
      type: 'text',
      value: '\n'
    });
  }

  /** @type {Element} */
  var result = {
    type: 'element',
    tagName: 'li',
    properties: properties,
    children: children
  };
  state.patch(node, result);
  return state.applyData(node, result);
}

/**
 * @param {Parents} node
 * @return {Boolean}
 */
function listLoose(node) {
  var loose = false;
  if (node.type === 'list') {
    loose = node.spread || false;
    var children = node.children;
    var index = -1;
    while (!loose && ++index < children.length) {
      loose = listItemLoose(children[index]);
    }
  }
  return loose;
}

/**
 * @param {ListItem} node
 * @return {Boolean}
 */
function listItemLoose(node) {
  var spread = node.spread;
  return spread === undefined || spread === null ? node.children.length > 1 : spread;
}
;// CONCATENATED MODULE: ./node_modules/.pnpm/mdast-util-to-hast@12.3.0/node_modules/mdast-util-to-hast/lib/handlers/list.js
/**
 * @typedef {import('hast').Element} Element
 * @typedef {import('hast').Properties} Properties
 * @typedef {import('mdast').List} List
 * @typedef {import('../state.js').State} State
 */

/**
 * Turn an mdast `list` node into hast.
 *
 * @param {State} state
 *   Info passed around.
 * @param {List} node
 *   mdast node.
 * @returns {Element}
 *   hast node.
 */
function list_list(state, node) {
  /** @type {Properties} */
  var properties = {};
  var results = state.all(node);
  var index = -1;
  if (typeof node.start === 'number' && node.start !== 1) {
    properties.start = node.start;
  }

  // Like GitHub, add a class for custom styling.
  while (++index < results.length) {
    var child = results[index];
    if (child.type === 'element' && child.tagName === 'li' && child.properties && Array.isArray(child.properties.className) && child.properties.className.includes('task-list-item')) {
      properties.className = ['contains-task-list'];
      break;
    }
  }

  /** @type {Element} */
  var result = {
    type: 'element',
    tagName: node.ordered ? 'ol' : 'ul',
    properties: properties,
    children: state.wrap(results, true)
  };
  state.patch(node, result);
  return state.applyData(node, result);
}
;// CONCATENATED MODULE: ./node_modules/.pnpm/mdast-util-to-hast@12.3.0/node_modules/mdast-util-to-hast/lib/handlers/paragraph.js
/**
 * @typedef {import('hast').Element} Element
 * @typedef {import('mdast').Paragraph} Paragraph
 * @typedef {import('../state.js').State} State
 */

/**
 * Turn an mdast `paragraph` node into hast.
 *
 * @param {State} state
 *   Info passed around.
 * @param {Paragraph} node
 *   mdast node.
 * @returns {Element}
 *   hast node.
 */
function paragraph(state, node) {
  /** @type {Element} */
  var result = {
    type: 'element',
    tagName: 'p',
    properties: {},
    children: state.all(node)
  };
  state.patch(node, result);
  return state.applyData(node, result);
}
;// CONCATENATED MODULE: ./node_modules/.pnpm/mdast-util-to-hast@12.3.0/node_modules/mdast-util-to-hast/lib/handlers/root.js
/**
 * @typedef {import('hast').Root} HastRoot
 * @typedef {import('hast').Element} HastElement
 * @typedef {import('mdast').Root} MdastRoot
 * @typedef {import('../state.js').State} State
 */

/**
 * Turn an mdast `root` node into hast.
 *
 * @param {State} state
 *   Info passed around.
 * @param {MdastRoot} node
 *   mdast node.
 * @returns {HastRoot | HastElement}
 *   hast node.
 */
function root(state, node) {
  /** @type {HastRoot} */
  var result = {
    type: 'root',
    children: state.wrap(state.all(node))
  };
  state.patch(node, result);
  return state.applyData(node, result);
}
;// CONCATENATED MODULE: ./node_modules/.pnpm/mdast-util-to-hast@12.3.0/node_modules/mdast-util-to-hast/lib/handlers/strong.js
/**
 * @typedef {import('hast').Element} Element
 * @typedef {import('mdast').Strong} Strong
 * @typedef {import('../state.js').State} State
 */

/**
 * Turn an mdast `strong` node into hast.
 *
 * @param {State} state
 *   Info passed around.
 * @param {Strong} node
 *   mdast node.
 * @returns {Element}
 *   hast node.
 */
function strong(state, node) {
  /** @type {Element} */
  var result = {
    type: 'element',
    tagName: 'strong',
    properties: {},
    children: state.all(node)
  };
  state.patch(node, result);
  return state.applyData(node, result);
}
;// CONCATENATED MODULE: ./node_modules/.pnpm/mdast-util-to-hast@12.3.0/node_modules/mdast-util-to-hast/lib/handlers/table.js
/**
 * @typedef {import('hast').Element} Element
 * @typedef {import('mdast').Table} Table
 * @typedef {import('../state.js').State} State
 */



/**
 * Turn an mdast `table` node into hast.
 *
 * @param {State} state
 *   Info passed around.
 * @param {Table} node
 *   mdast node.
 * @returns {Element}
 *   hast node.
 */
function table(state, node) {
  var rows = state.all(node);
  var firstRow = rows.shift();
  /** @type {Array} */
  var tableContent = [];
  if (firstRow) {
    /** @type {Element} */
    var head = {
      type: 'element',
      tagName: 'thead',
      properties: {},
      children: state.wrap([firstRow], true)
    };
    state.patch(node.children[0], head);
    tableContent.push(head);
  }
  if (rows.length > 0) {
    /** @type {Element} */
    var body = {
      type: 'element',
      tagName: 'tbody',
      properties: {},
      children: state.wrap(rows, true)
    };
    var start = pointStart(node.children[1]);
    var end = pointEnd(node.children[node.children.length - 1]);
    if (start.line && end.line) body.position = {
      start: start,
      end: end
    };
    tableContent.push(body);
  }

  /** @type {Element} */
  var result = {
    type: 'element',
    tagName: 'table',
    properties: {},
    children: state.wrap(tableContent, true)
  };
  state.patch(node, result);
  return state.applyData(node, result);
}
;// CONCATENATED MODULE: ./node_modules/.pnpm/mdast-util-to-hast@12.3.0/node_modules/mdast-util-to-hast/lib/handlers/table-row.js
/**
 * @typedef {import('hast').Properties} Properties
 * @typedef {import('hast').Element} Element
 * @typedef {import('hast').ElementContent} ElementContent
 * @typedef {import('mdast').Content} Content
 * @typedef {import('mdast').Parent} Parent
 * @typedef {import('mdast').Root} Root
 * @typedef {import('mdast').TableRow} TableRow
 * @typedef {import('../state.js').State} State
 */

/**
 * @typedef {Root | Content} Nodes
 * @typedef {Extract} Parents
 */

/**
 * Turn an mdast `tableRow` node into hast.
 *
 * @param {State} state
 *   Info passed around.
 * @param {TableRow} node
 *   mdast node.
 * @param {Parents | null | undefined} parent
 *   Parent of `node`.
 * @returns {Element}
 *   hast node.
 */
function tableRow(state, node, parent) {
  var siblings = parent ? parent.children : undefined;
  // Generate a body row when without parent.
  var rowIndex = siblings ? siblings.indexOf(node) : 1;
  var tagName = rowIndex === 0 ? 'th' : 'td';
  var align = parent && parent.type === 'table' ? parent.align : undefined;
  var length = align ? align.length : node.children.length;
  var cellIndex = -1;
  /** @type {Array} */
  var cells = [];
  while (++cellIndex < length) {
    // Note: can also be undefined.
    var cell = node.children[cellIndex];
    /** @type {Properties} */
    var properties = {};
    var alignValue = align ? align[cellIndex] : undefined;
    if (alignValue) {
      properties.align = alignValue;
    }

    /** @type {Element} */
    var _result = {
      type: 'element',
      tagName: tagName,
      properties: properties,
      children: []
    };
    if (cell) {
      _result.children = state.all(cell);
      state.patch(cell, _result);
      _result = state.applyData(node, _result);
    }
    cells.push(_result);
  }

  /** @type {Element} */
  var result = {
    type: 'element',
    tagName: 'tr',
    properties: {},
    children: state.wrap(cells, true)
  };
  state.patch(node, result);
  return state.applyData(node, result);
}
;// CONCATENATED MODULE: ./node_modules/.pnpm/mdast-util-to-hast@12.3.0/node_modules/mdast-util-to-hast/lib/handlers/table-cell.js
/**
 * @typedef {import('hast').Element} Element
 * @typedef {import('mdast').TableCell} TableCell
 * @typedef {import('../state.js').State} State
 */

/**
 * Turn an mdast `tableCell` node into hast.
 *
 * @param {State} state
 *   Info passed around.
 * @param {TableCell} node
 *   mdast node.
 * @returns {Element}
 *   hast node.
 */
function tableCell(state, node) {
  // Note: this function is normally not called: see `table-row` for how rows
  // and their cells are compiled.
  /** @type {Element} */
  var result = {
    type: 'element',
    tagName: 'td',
    // Assume body cell.
    properties: {},
    children: state.all(node)
  };
  state.patch(node, result);
  return state.applyData(node, result);
}
;// CONCATENATED MODULE: ./node_modules/.pnpm/trim-lines@3.0.1/node_modules/trim-lines/index.js
var tab = 9; /* `\t` */
var space = 32; /* ` ` */

/**
 * Remove initial and final spaces and tabs at the line breaks in `value`.
 * Does not trim initial and final spaces and tabs of the value itself.
 *
 * @param {string} value
 *   Value to trim.
 * @returns {string}
 *   Trimmed value.
 */
function trimLines(value) {
  var source = String(value);
  var search = /\r?\n|\r/g;
  var match = search.exec(source);
  var last = 0;
  /** @type {Array} */
  var lines = [];
  while (match) {
    lines.push(trimLine(source.slice(last, match.index), last > 0, true), match[0]);
    last = match.index + match[0].length;
    match = search.exec(source);
  }
  lines.push(trimLine(source.slice(last), last > 0, false));
  return lines.join('');
}

/**
 * @param {string} value
 *   Line to trim.
 * @param {boolean} start
 *   Whether to trim the start of the line.
 * @param {boolean} end
 *   Whether to trim the end of the line.
 * @returns {string}
 *   Trimmed line.
 */
function trimLine(value, start, end) {
  var startIndex = 0;
  var endIndex = value.length;
  if (start) {
    var code = value.codePointAt(startIndex);
    while (code === tab || code === space) {
      startIndex++;
      code = value.codePointAt(startIndex);
    }
  }
  if (end) {
    var _code = value.codePointAt(endIndex - 1);
    while (_code === tab || _code === space) {
      endIndex--;
      _code = value.codePointAt(endIndex - 1);
    }
  }
  return endIndex > startIndex ? value.slice(startIndex, endIndex) : '';
}
;// CONCATENATED MODULE: ./node_modules/.pnpm/mdast-util-to-hast@12.3.0/node_modules/mdast-util-to-hast/lib/handlers/text.js
/**
 * @typedef {import('hast').Element} HastElement
 * @typedef {import('hast').Text} HastText
 * @typedef {import('mdast').Text} MdastText
 * @typedef {import('../state.js').State} State
 */



/**
 * Turn an mdast `text` node into hast.
 *
 * @param {State} state
 *   Info passed around.
 * @param {MdastText} node
 *   mdast node.
 * @returns {HastText | HastElement}
 *   hast node.
 */
function handlers_text_text(state, node) {
  /** @type {HastText} */
  var result = {
    type: 'text',
    value: trimLines(String(node.value))
  };
  state.patch(node, result);
  return state.applyData(node, result);
}
;// CONCATENATED MODULE: ./node_modules/.pnpm/mdast-util-to-hast@12.3.0/node_modules/mdast-util-to-hast/lib/handlers/thematic-break.js
/**
 * @typedef {import('hast').Element} Element
 * @typedef {import('mdast').ThematicBreak} ThematicBreak
 * @typedef {import('../state.js').State} State
 */

/**
 * Turn an mdast `thematicBreak` node into hast.
 *
 * @param {State} state
 *   Info passed around.
 * @param {ThematicBreak} node
 *   mdast node.
 * @returns {Element}
 *   hast node.
 */
function thematic_break_thematicBreak(state, node) {
  /** @type {Element} */
  var result = {
    type: 'element',
    tagName: 'hr',
    properties: {},
    children: []
  };
  state.patch(node, result);
  return state.applyData(node, result);
}
;// CONCATENATED MODULE: ./node_modules/.pnpm/mdast-util-to-hast@12.3.0/node_modules/mdast-util-to-hast/lib/handlers/index.js

























/**
 * Default handlers for nodes.
 */
var handlers = {
  blockquote: blockquote,
  break: hardBreak,
  code: code,
  delete: strikethrough,
  emphasis: emphasis,
  footnoteReference: footnoteReference,
  footnote: footnote,
  heading: heading,
  html: html,
  imageReference: imageReference,
  image: image_image,
  inlineCode: inlineCode,
  linkReference: linkReference,
  link: link_link,
  listItem: listItem,
  list: list_list,
  paragraph: paragraph,
  root: root,
  strong: strong,
  table: table,
  tableCell: tableCell,
  tableRow: tableRow,
  text: handlers_text_text,
  thematicBreak: thematic_break_thematicBreak,
  toml: ignore,
  yaml: ignore,
  definition: ignore,
  footnoteDefinition: ignore
};

// Return nothing for nodes that are ignored.
function ignore() {
  // To do: next major: return `undefined`.
  return null;
}
;// CONCATENATED MODULE: ./node_modules/.pnpm/mdast-util-to-hast@12.3.0/node_modules/mdast-util-to-hast/lib/state.js


/**
 * @typedef {import('hast').Content} HastContent
 * @typedef {import('hast').Element} HastElement
 * @typedef {import('hast').ElementContent} HastElementContent
 * @typedef {import('hast').Properties} HastProperties
 * @typedef {import('hast').Root} HastRoot
 * @typedef {import('hast').Text} HastText
 *
 * @typedef {import('mdast').Content} MdastContent
 * @typedef {import('mdast').Definition} MdastDefinition
 * @typedef {import('mdast').FootnoteDefinition} MdastFootnoteDefinition
 * @typedef {import('mdast').Parent} MdastParent
 * @typedef {import('mdast').Root} MdastRoot
 */

/**
 * @typedef {HastRoot | HastContent} HastNodes
 * @typedef {MdastRoot | MdastContent} MdastNodes
 * @typedef {Extract} MdastParents
 *
 * @typedef EmbeddedHastFields
 *   hast fields.
 * @property {string | null | undefined} [hName]
 *   Generate a specific element with this tag name instead.
 * @property {HastProperties | null | undefined} [hProperties]
 *   Generate an element with these properties instead.
 * @property {Array | null | undefined} [hChildren]
 *   Generate an element with this content instead.
 *
 * @typedef {Record & EmbeddedHastFields} MdastData
 *   mdast data with embedded hast fields.
 *
 * @typedef {MdastNodes & {data?: MdastData | null | undefined}} MdastNodeWithData
 *   mdast node with embedded hast data.
 *
 * @typedef PointLike
 *   Point-like value.
 * @property {number | null | undefined} [line]
 *   Line.
 * @property {number | null | undefined} [column]
 *   Column.
 * @property {number | null | undefined} [offset]
 *   Offset.
 *
 * @typedef PositionLike
 *   Position-like value.
 * @property {PointLike | null | undefined} [start]
 *   Point-like value.
 * @property {PointLike | null | undefined} [end]
 *   Point-like value.
 *
 * @callback Handler
 *   Handle a node.
 * @param {State} state
 *   Info passed around.
 * @param {any} node
 *   mdast node to handle.
 * @param {MdastParents | null | undefined} parent
 *   Parent of `node`.
 * @returns {HastElementContent | Array | null | undefined}
 *   hast node.
 *
 * @callback HFunctionProps
 *   Signature of `state` for when props are passed.
 * @param {MdastNodes | PositionLike | null | undefined} node
 *   mdast node or unist position.
 * @param {string} tagName
 *   HTML tag name.
 * @param {HastProperties} props
 *   Properties.
 * @param {Array | null | undefined} [children]
 *   hast content.
 * @returns {HastElement}
 *   Compiled element.
 *
 * @callback HFunctionNoProps
 *   Signature of `state` for when no props are passed.
 * @param {MdastNodes | PositionLike | null | undefined} node
 *   mdast node or unist position.
 * @param {string} tagName
 *   HTML tag name.
 * @param {Array | null | undefined} [children]
 *   hast content.
 * @returns {HastElement}
 *   Compiled element.
 *
 * @typedef HFields
 *   Info on `state`.
 * @property {boolean} dangerous
 *   Whether HTML is allowed.
 * @property {string} clobberPrefix
 *   Prefix to use to prevent DOM clobbering.
 * @property {string} footnoteLabel
 *   Label to use to introduce the footnote section.
 * @property {string} footnoteLabelTagName
 *   HTML used for the footnote label.
 * @property {HastProperties} footnoteLabelProperties
 *   Properties on the HTML tag used for the footnote label.
 * @property {string} footnoteBackLabel
 *   Label to use from backreferences back to their footnote call.
 * @property {(identifier: string) => MdastDefinition | null} definition
 *   Definition cache.
 * @property {Record} footnoteById
 *   Footnote definitions by their identifier.
 * @property {Array} footnoteOrder
 *   Identifiers of order when footnote calls first appear in tree order.
 * @property {Record} footnoteCounts
 *   Counts for how often the same footnote was called.
 * @property {Handlers} handlers
 *   Applied handlers.
 * @property {Handler} unknownHandler
 *   Handler for any none not in `passThrough` or otherwise handled.
 * @property {(from: MdastNodes, node: HastNodes) => void} patch
 *   Copy a node’s positional info.
 * @property {(from: MdastNodes, to: Type) => Type | HastElement} applyData
 *   Honor the `data` of `from`, and generate an element instead of `node`.
 * @property {(node: MdastNodes, parent: MdastParents | null | undefined) => HastElementContent | Array | null | undefined} one
 *   Transform an mdast node to hast.
 * @property {(node: MdastNodes) => Array} all
 *   Transform the children of an mdast parent to hast.
 * @property {(nodes: Array, loose?: boolean | null | undefined) => Array} wrap
 *   Wrap `nodes` with line endings between each node, adds initial/final line endings when `loose`.
 * @property {(left: MdastNodeWithData | PositionLike | null | undefined, right: HastElementContent) => HastElementContent} augment
 *   Like `state` but lower-level and usable on non-elements.
 *   Deprecated: use `patch` and `applyData`.
 * @property {Array} passThrough
 *   List of node types to pass through untouched (except for their children).
 *
 * @typedef Options
 *   Configuration (optional).
 * @property {boolean | null | undefined} [allowDangerousHtml=false]
 *   Whether to persist raw HTML in markdown in the hast tree.
 * @property {string | null | undefined} [clobberPrefix='user-content-']
 *   Prefix to use before the `id` attribute on footnotes to prevent it from
 *   *clobbering*.
 * @property {string | null | undefined} [footnoteBackLabel='Back to content']
 *   Label to use from backreferences back to their footnote call (affects
 *   screen readers).
 * @property {string | null | undefined} [footnoteLabel='Footnotes']
 *   Label to use for the footnotes section (affects screen readers).
 * @property {HastProperties | null | undefined} [footnoteLabelProperties={className: ['sr-only']}]
 *   Properties to use on the footnote label (note that `id: 'footnote-label'`
 *   is always added as footnote calls use it with `aria-describedby` to
 *   provide an accessible label).
 * @property {string | null | undefined} [footnoteLabelTagName='h2']
 *   Tag name to use for the footnote label.
 * @property {Handlers | null | undefined} [handlers]
 *   Extra handlers for nodes.
 * @property {Array | null | undefined} [passThrough]
 *   List of custom mdast node types to pass through (keep) in hast (note that
 *   the node itself is passed, but eventual children are transformed).
 * @property {Handler | null | undefined} [unknownHandler]
 *   Handler for all unknown nodes.
 *
 * @typedef {Record} Handlers
 *   Handle nodes.
 *
 * @typedef {HFunctionProps & HFunctionNoProps & HFields} State
 *   Info passed around.
 */






var state_own = {}.hasOwnProperty;

/**
 * Create `state` from an mdast tree.
 *
 * @param {MdastNodes} tree
 *   mdast node to transform.
 * @param {Options | null | undefined} [options]
 *   Configuration.
 * @returns {State}
 *   `state` function.
 */
function createState(tree, options) {
  var settings = options || {};
  var dangerous = settings.allowDangerousHtml || false;
  /** @type {Record} */
  var footnoteById = {};

  // To do: next major: add `options` to state, remove:
  // `dangerous`, `clobberPrefix`, `footnoteLabel`, `footnoteLabelTagName`,
  // `footnoteLabelProperties`, `footnoteBackLabel`, `passThrough`,
  // `unknownHandler`.

  // To do: next major: move to `state.options.allowDangerousHtml`.
  state.dangerous = dangerous;
  // To do: next major: move to `state.options`.
  state.clobberPrefix = settings.clobberPrefix === undefined || settings.clobberPrefix === null ? 'user-content-' : settings.clobberPrefix;
  // To do: next major: move to `state.options`.
  state.footnoteLabel = settings.footnoteLabel || 'Footnotes';
  // To do: next major: move to `state.options`.
  state.footnoteLabelTagName = settings.footnoteLabelTagName || 'h2';
  // To do: next major: move to `state.options`.
  state.footnoteLabelProperties = settings.footnoteLabelProperties || {
    className: ['sr-only']
  };
  // To do: next major: move to `state.options`.
  state.footnoteBackLabel = settings.footnoteBackLabel || 'Back to content';
  // To do: next major: move to `state.options`.
  state.unknownHandler = settings.unknownHandler;
  // To do: next major: move to `state.options`.
  state.passThrough = settings.passThrough;
  state.handlers = _objectSpread2(_objectSpread2({}, handlers), settings.handlers);

  // To do: next major: replace utility with `definitionById` object, so we
  // only walk once (as we need footnotes too).
  state.definition = definitions(tree);
  state.footnoteById = footnoteById;
  /** @type {Array} */
  state.footnoteOrder = [];
  /** @type {Record} */
  state.footnoteCounts = {};
  state.patch = patch;
  state.applyData = applyData;
  state.one = oneBound;
  state.all = allBound;
  state.wrap = state_wrap;
  // To do: next major: remove `augment`.
  state.augment = augment;
  visit(tree, 'footnoteDefinition', function (definition) {
    var id = String(definition.identifier).toUpperCase();

    // Mimick CM behavior of link definitions.
    // See: .
    if (!state_own.call(footnoteById, id)) {
      footnoteById[id] = definition;
    }
  });

  // @ts-expect-error Hush, it’s fine!
  return state;

  /**
   * Finalise the created `right`, a hast node, from `left`, an mdast node.
   *
   * @param {MdastNodeWithData | PositionLike | null | undefined} left
   * @param {HastElementContent} right
   * @returns {HastElementContent}
   */
  /* c8 ignore start */
  // To do: next major: remove.
  function augment(left, right) {
    // Handle `data.hName`, `data.hProperties, `data.hChildren`.
    if (left && 'data' in left && left.data) {
      /** @type {MdastData} */
      var data = left.data;
      if (data.hName) {
        if (right.type !== 'element') {
          right = {
            type: 'element',
            tagName: '',
            properties: {},
            children: []
          };
        }
        right.tagName = data.hName;
      }
      if (right.type === 'element' && data.hProperties) {
        right.properties = _objectSpread2(_objectSpread2({}, right.properties), data.hProperties);
      }
      if ('children' in right && right.children && data.hChildren) {
        right.children = data.hChildren;
      }
    }
    if (left) {
      var ctx = 'type' in left ? left : {
        position: left
      };
      if (!generated(ctx)) {
        // @ts-expect-error: fine.
        right.position = {
          start: pointStart(ctx),
          end: pointEnd(ctx)
        };
      }
    }
    return right;
  }
  /* c8 ignore stop */

  /**
   * Create an element for `node`.
   *
   * @type {HFunctionProps}
   */
  /* c8 ignore start */
  // To do: next major: remove.
  function state(node, tagName, props, children) {
    if (Array.isArray(props)) {
      children = props;
      props = {};
    }

    // @ts-expect-error augmenting an element yields an element.
    return augment(node, {
      type: 'element',
      tagName: tagName,
      properties: props || {},
      children: children || []
    });
  }
  /* c8 ignore stop */

  /**
   * Transform an mdast node into a hast node.
   *
   * @param {MdastNodes} node
   *   mdast node.
   * @param {MdastParents | null | undefined} [parent]
   *   Parent of `node`.
   * @returns {HastElementContent | Array | null | undefined}
   *   Resulting hast node.
   */
  function oneBound(node, parent) {
    // @ts-expect-error: that’s a state :)
    return state_one(state, node, parent);
  }

  /**
   * Transform the children of an mdast node into hast nodes.
   *
   * @param {MdastNodes} parent
   *   mdast node to compile
   * @returns {Array}
   *   Resulting hast nodes.
   */
  function allBound(parent) {
    // @ts-expect-error: that’s a state :)
    return state_all(state, parent);
  }
}

/**
 * Copy a node’s positional info.
 *
 * @param {MdastNodes} from
 *   mdast node to copy from.
 * @param {HastNodes} to
 *   hast node to copy into.
 * @returns {void}
 *   Nothing.
 */
function patch(from, to) {
  if (from.position) to.position = unist_util_position_lib_position(from);
}

/**
 * Honor the `data` of `from` and maybe generate an element instead of `to`.
 *
 * @template {HastNodes} Type
 *   Node type.
 * @param {MdastNodes} from
 *   mdast node to use data from.
 * @param {Type} to
 *   hast node to change.
 * @returns {Type | HastElement}
 *   Nothing.
 */
function applyData(from, to) {
  /** @type {Type | HastElement} */
  var result = to;

  // Handle `data.hName`, `data.hProperties, `data.hChildren`.
  if (from && from.data) {
    var hName = from.data.hName;
    var hChildren = from.data.hChildren;
    var hProperties = from.data.hProperties;
    if (typeof hName === 'string') {
      // Transforming the node resulted in an element with a different name
      // than wanted:
      if (result.type === 'element') {
        result.tagName = hName;
      }
      // Transforming the node resulted in a non-element, which happens for
      // raw, text, and root nodes (unless custom handlers are passed).
      // The intent is likely to keep the content around (otherwise: pass
      // `hChildren`).
      else {
        result = {
          type: 'element',
          tagName: hName,
          properties: {},
          children: []
        };

        // To do: next major: take the children from the `root`, or inject the
        // raw/text/comment or so into the element?
        // if ('children' in node) {
        //   // @ts-expect-error: assume `children` are allowed in elements.
        //   result.children = node.children
        // } else {
        //   // @ts-expect-error: assume `node` is allowed in elements.
        //   result.children.push(node)
        // }
      }
    }

    if (result.type === 'element' && hProperties) {
      result.properties = _objectSpread2(_objectSpread2({}, result.properties), hProperties);
    }
    if ('children' in result && result.children && hChildren !== null && hChildren !== undefined) {
      // @ts-expect-error: assume valid children are defined.
      result.children = hChildren;
    }
  }
  return result;
}

/**
 * Transform an mdast node into a hast node.
 *
 * @param {State} state
 *   Info passed around.
 * @param {MdastNodes} node
 *   mdast node.
 * @param {MdastParents | null | undefined} [parent]
 *   Parent of `node`.
 * @returns {HastElementContent | Array | null | undefined}
 *   Resulting hast node.
 */
// To do: next major: do not expose, keep bound.
function state_one(state, node, parent) {
  var type = node && node.type;

  // Fail on non-nodes.
  if (!type) {
    throw new Error('Expected node, got `' + node + '`');
  }
  if (state_own.call(state.handlers, type)) {
    return state.handlers[type](state, node, parent);
  }
  if (state.passThrough && state.passThrough.includes(type)) {
    // To do: next major: deep clone.
    // @ts-expect-error: types of passed through nodes are expected to be added manually.
    return 'children' in node ? _objectSpread2(_objectSpread2({}, node), {}, {
      children: state_all(state, node)
    }) : node;
  }
  if (state.unknownHandler) {
    return state.unknownHandler(state, node, parent);
  }
  return defaultUnknownHandler(state, node);
}

/**
 * Transform the children of an mdast node into hast nodes.
 *
 * @param {State} state
 *   Info passed around.
 * @param {MdastNodes} parent
 *   mdast node to compile
 * @returns {Array}
 *   Resulting hast nodes.
 */
// To do: next major: do not expose, keep bound.
function state_all(state, parent) {
  /** @type {Array} */
  var values = [];
  if ('children' in parent) {
    var nodes = parent.children;
    var index = -1;
    while (++index < nodes.length) {
      var result = state_one(state, nodes[index], parent);

      // To do: see if we van clean this? Can we merge texts?
      if (result) {
        if (index && nodes[index - 1].type === 'break') {
          if (!Array.isArray(result) && result.type === 'text') {
            result.value = result.value.replace(/^\s+/, '');
          }
          if (!Array.isArray(result) && result.type === 'element') {
            var head = result.children[0];
            if (head && head.type === 'text') {
              head.value = head.value.replace(/^\s+/, '');
            }
          }
        }
        if (Array.isArray(result)) {
          values.push.apply(values, toConsumableArray_toConsumableArray(result));
        } else {
          values.push(result);
        }
      }
    }
  }
  return values;
}

/**
 * Transform an unknown node.
 *
 * @param {State} state
 *   Info passed around.
 * @param {MdastNodes} node
 *   Unknown mdast node.
 * @returns {HastText | HastElement}
 *   Resulting hast node.
 */
function defaultUnknownHandler(state, node) {
  var data = node.data || {};
  /** @type {HastText | HastElement} */
  var result = 'value' in node && !(state_own.call(data, 'hProperties') || state_own.call(data, 'hChildren')) ? {
    type: 'text',
    value: node.value
  } : {
    type: 'element',
    tagName: 'div',
    properties: {},
    children: state_all(state, node)
  };
  state.patch(node, result);
  return state.applyData(node, result);
}

/**
 * Wrap `nodes` with line endings between each node.
 *
 * @template {HastContent} Type
 *   Node type.
 * @param {Array} nodes
 *   List of nodes to wrap.
 * @param {boolean | null | undefined} [loose=false]
 *   Whether to add line endings at start and end.
 * @returns {Array}
 *   Wrapped nodes.
 */
function state_wrap(nodes, loose) {
  /** @type {Array} */
  var result = [];
  var index = -1;
  if (loose) {
    result.push({
      type: 'text',
      value: '\n'
    });
  }
  while (++index < nodes.length) {
    if (index) result.push({
      type: 'text',
      value: '\n'
    });
    result.push(nodes[index]);
  }
  if (loose && nodes.length > 0) {
    result.push({
      type: 'text',
      value: '\n'
    });
  }
  return result;
}
;// CONCATENATED MODULE: ./node_modules/.pnpm/mdast-util-to-hast@12.3.0/node_modules/mdast-util-to-hast/lib/index.js
/**
 * @typedef {import('hast').Content} HastContent
 * @typedef {import('hast').Root} HastRoot
 *
 * @typedef {import('mdast').Content} MdastContent
 * @typedef {import('mdast').Root} MdastRoot
 *
 * @typedef {import('./state.js').Options} Options
 */

/**
 * @typedef {HastRoot | HastContent} HastNodes
 * @typedef {MdastRoot | MdastContent} MdastNodes
 */




/**
 * Transform mdast to hast.
 *
 * ##### Notes
 *
 * ###### HTML
 *
 * Raw HTML is available in mdast as `html` nodes and can be embedded in hast
 * as semistandard `raw` nodes.
 * Most utilities ignore `raw` nodes but two notable ones don’t:
 *
 * *   `hast-util-to-html` also has an option `allowDangerousHtml` which will
 *     output the raw HTML.
 *     This is typically discouraged as noted by the option name but is useful
 *     if you completely trust authors
 * *   `hast-util-raw` can handle the raw embedded HTML strings by parsing them
 *     into standard hast nodes (`element`, `text`, etc).
 *     This is a heavy task as it needs a full HTML parser, but it is the only
 *     way to support untrusted content
 *
 * ###### Footnotes
 *
 * Many options supported here relate to footnotes.
 * Footnotes are not specified by CommonMark, which we follow by default.
 * They are supported by GitHub, so footnotes can be enabled in markdown with
 * `mdast-util-gfm`.
 *
 * The options `footnoteBackLabel` and `footnoteLabel` define natural language
 * that explains footnotes, which is hidden for sighted users but shown to
 * assistive technology.
 * When your page is not in English, you must define translated values.
 *
 * Back references use ARIA attributes, but the section label itself uses a
 * heading that is hidden with an `sr-only` class.
 * To show it to sighted users, define different attributes in
 * `footnoteLabelProperties`.
 *
 * ###### Clobbering
 *
 * Footnotes introduces a problem, as it links footnote calls to footnote
 * definitions on the page through `id` attributes generated from user content,
 * which results in DOM clobbering.
 *
 * DOM clobbering is this:
 *
 * ```html
 * 

* * ``` * * Elements by their ID are made available by browsers on the `window` object, * which is a security risk. * Using a prefix solves this problem. * * More information on how to handle clobbering and the prefix is explained in * Example: headings (DOM clobbering) in `rehype-sanitize`. * * ###### Unknown nodes * * Unknown nodes are nodes with a type that isn’t in `handlers` or `passThrough`. * The default behavior for unknown nodes is: * * * when the node has a `value` (and doesn’t have `data.hName`, * `data.hProperties`, or `data.hChildren`, see later), create a hast `text` * node * * otherwise, create a `
` element (which could be changed with * `data.hName`), with its children mapped from mdast to hast as well * * This behavior can be changed by passing an `unknownHandler`. * * @param {MdastNodes} tree * mdast tree. * @param {Options | null | undefined} [options] * Configuration. * @returns {HastNodes | null | undefined} * hast tree. */ // To do: next major: always return a single `root`. function toHast(tree, options) { var state = createState(tree, options); var node = state.one(tree, null); var foot = footer(state); if (foot) { // @ts-expect-error If there’s a footer, there were definitions, meaning block // content. // So assume `node` is a parent node. node.children.push({ type: 'text', value: '\n' }, foot); } // To do: next major: always return root? return Array.isArray(node) ? { type: 'root', children: node } : node; } ;// CONCATENATED MODULE: ./node_modules/.pnpm/remark-rehype@10.1.0/node_modules/remark-rehype/lib/index.js /** * @typedef {import('hast').Root} HastRoot * @typedef {import('mdast').Root} MdastRoot * @typedef {import('mdast-util-to-hast').Options} Options * @typedef {import('unified').Processor} Processor * * @typedef {import('mdast-util-to-hast')} DoNotTouchAsThisImportIncludesRawInTree */ // Note: the `` overload doesn’t seem to work :'( /** * Plugin that turns markdown into HTML to support rehype. * * * If a destination processor is given, that processor runs with a new HTML * (hast) tree (bridge-mode). * As the given processor runs with a hast tree, and rehype plugins support * hast, that means rehype plugins can be used with the given processor. * The hast tree is discarded in the end. * It’s highly unlikely that you want to do this. * * The common case is to not pass a destination processor, in which case the * current processor continues running with a new HTML (hast) tree * (mutate-mode). * As the current processor continues with a hast tree, and rehype plugins * support hast, that means rehype plugins can be used after * `remark-rehype`. * It’s likely that this is what you want to do. * * @param destination * Optional unified processor. * @param options * Options passed to `mdast-util-to-hast`. */ var remarkRehype = /** @type {(import('unified').Plugin<[Processor, Options?]|[null|undefined, Options?]|[Options]|[], MdastRoot>)} */ function remarkRehype(destination, options) { return destination && 'run' in destination ? bridge(destination, options) : mutate(destination || options); }; /* harmony default export */ var lib = (remarkRehype); /** * Bridge-mode. * Runs the destination with the new hast tree. * * @type {import('unified').Plugin<[Processor, Options?], MdastRoot>} */ function bridge(destination, options) { return function (node, file, next) { destination.run(toHast(node, options), file, function (error) { next(error); }); }; } /** * Mutate-mode. * Further plugins run on the hast tree. * * @type {import('unified').Plugin<[Options?]|void[], MdastRoot, HastRoot>} */ function mutate(options) { // @ts-expect-error: assume a corresponding node is returned by `toHast`. return function (node) { return toHast(node, options); }; } // EXTERNAL MODULE: ./node_modules/.pnpm/prop-types@15.8.1/node_modules/prop-types/index.js var prop_types = __webpack_require__(7897); ;// CONCATENATED MODULE: ./node_modules/.pnpm/property-information@6.3.0/node_modules/property-information/lib/util/schema.js /** * @typedef {import('./info.js').Info} Info * @typedef {Record} Properties * @typedef {Record} Normal */ var Schema = /*#__PURE__*/_createClass( /** * @constructor * @param {Properties} property * @param {Normal} normal * @param {string} [space] */ function Schema(property, normal, space) { _classCallCheck(this, Schema); this.property = property; this.normal = normal; if (space) { this.space = space; } }); /** @type {Properties} */ Schema.prototype.property = {}; /** @type {Normal} */ Schema.prototype.normal = {}; /** @type {string|null} */ Schema.prototype.space = null; ;// CONCATENATED MODULE: ./node_modules/.pnpm/property-information@6.3.0/node_modules/property-information/lib/util/merge.js /** * @typedef {import('./schema.js').Properties} Properties * @typedef {import('./schema.js').Normal} Normal */ /** * @param {Schema[]} definitions * @param {string} [space] * @returns {Schema} */ function util_merge_merge(definitions, space) { /** @type {Properties} */ var property = {}; /** @type {Normal} */ var normal = {}; var index = -1; while (++index < definitions.length) { Object.assign(property, definitions[index].property); Object.assign(normal, definitions[index].normal); } return new Schema(property, normal, space); } ;// CONCATENATED MODULE: ./node_modules/.pnpm/property-information@6.3.0/node_modules/property-information/lib/normalize.js /** * @param {string} value * @returns {string} */ function normalize_normalize(value) { return value.toLowerCase(); } ;// CONCATENATED MODULE: ./node_modules/.pnpm/property-information@6.3.0/node_modules/property-information/lib/util/info.js var Info = /*#__PURE__*/_createClass( /** * @constructor * @param {string} property * @param {string} attribute */ function Info(property, attribute) { _classCallCheck(this, Info); /** @type {string} */ this.property = property; /** @type {string} */ this.attribute = attribute; }); /** @type {string|null} */ Info.prototype.space = null; Info.prototype.boolean = false; Info.prototype.booleanish = false; Info.prototype.overloadedBoolean = false; Info.prototype.number = false; Info.prototype.commaSeparated = false; Info.prototype.spaceSeparated = false; Info.prototype.commaOrSpaceSeparated = false; Info.prototype.mustUseProperty = false; Info.prototype.defined = false; ;// CONCATENATED MODULE: ./node_modules/.pnpm/property-information@6.3.0/node_modules/property-information/lib/util/types.js var powers = 0; var types_boolean = increment(); var booleanish = increment(); var overloadedBoolean = increment(); var number = increment(); var spaceSeparated = increment(); var commaSeparated = increment(); var commaOrSpaceSeparated = increment(); function increment() { return Math.pow(2, ++powers); } ;// CONCATENATED MODULE: ./node_modules/.pnpm/property-information@6.3.0/node_modules/property-information/lib/util/defined-info.js /** @type {Array} */ // @ts-expect-error: hush. var checks = Object.keys(types_namespaceObject); var DefinedInfo = /*#__PURE__*/function (_Info) { _inherits(DefinedInfo, _Info); var _super = _createSuper(DefinedInfo); /** * @constructor * @param {string} property * @param {string} attribute * @param {number|null} [mask] * @param {string} [space] */ function DefinedInfo(property, attribute, mask, space) { var _this; _classCallCheck(this, DefinedInfo); var index = -1; _this = _super.call(this, property, attribute); mark(_assertThisInitialized(_this), 'space', space); if (typeof mask === 'number') { while (++index < checks.length) { var check = checks[index]; mark(_assertThisInitialized(_this), checks[index], (mask & types_namespaceObject[check]) === types_namespaceObject[check]); } } return _this; } return _createClass(DefinedInfo); }(Info); DefinedInfo.prototype.defined = true; /** * @param {DefinedInfo} values * @param {string} key * @param {unknown} value */ function mark(values, key, value) { if (value) { // @ts-expect-error: assume `value` matches the expected value of `key`. values[key] = value; } } ;// CONCATENATED MODULE: ./node_modules/.pnpm/property-information@6.3.0/node_modules/property-information/lib/util/create.js /** * @typedef {import('./schema.js').Properties} Properties * @typedef {import('./schema.js').Normal} Normal * * @typedef {Record} Attributes * * @typedef {Object} Definition * @property {Record} properties * @property {(attributes: Attributes, property: string) => string} transform * @property {string} [space] * @property {Attributes} [attributes] * @property {Array} [mustUseProperty] */ var create_own = {}.hasOwnProperty; /** * @param {Definition} definition * @returns {Schema} */ function create(definition) { /** @type {Properties} */ var property = {}; /** @type {Normal} */ var normal = {}; /** @type {string} */ var prop; for (prop in definition.properties) { if (create_own.call(definition.properties, prop)) { var value = definition.properties[prop]; var info = new DefinedInfo(prop, definition.transform(definition.attributes || {}, prop), value, definition.space); if (definition.mustUseProperty && definition.mustUseProperty.includes(prop)) { info.mustUseProperty = true; } property[prop] = info; normal[normalize_normalize(prop)] = prop; normal[normalize_normalize(info.attribute)] = prop; } } return new Schema(property, normal, definition.space); } ;// CONCATENATED MODULE: ./node_modules/.pnpm/property-information@6.3.0/node_modules/property-information/lib/xlink.js var xlink = create({ space: 'xlink', transform: function transform(_, prop) { return 'xlink:' + prop.slice(5).toLowerCase(); }, properties: { xLinkActuate: null, xLinkArcRole: null, xLinkHref: null, xLinkRole: null, xLinkShow: null, xLinkTitle: null, xLinkType: null } }); ;// CONCATENATED MODULE: ./node_modules/.pnpm/property-information@6.3.0/node_modules/property-information/lib/xml.js var xml = create({ space: 'xml', transform: function transform(_, prop) { return 'xml:' + prop.slice(3).toLowerCase(); }, properties: { xmlLang: null, xmlBase: null, xmlSpace: null } }); ;// CONCATENATED MODULE: ./node_modules/.pnpm/property-information@6.3.0/node_modules/property-information/lib/util/case-sensitive-transform.js /** * @param {Record} attributes * @param {string} attribute * @returns {string} */ function caseSensitiveTransform(attributes, attribute) { return attribute in attributes ? attributes[attribute] : attribute; } ;// CONCATENATED MODULE: ./node_modules/.pnpm/property-information@6.3.0/node_modules/property-information/lib/util/case-insensitive-transform.js /** * @param {Record} attributes * @param {string} property * @returns {string} */ function caseInsensitiveTransform(attributes, property) { return caseSensitiveTransform(attributes, property.toLowerCase()); } ;// CONCATENATED MODULE: ./node_modules/.pnpm/property-information@6.3.0/node_modules/property-information/lib/xmlns.js var xmlns = create({ space: 'xmlns', attributes: { xmlnsxlink: 'xmlns:xlink' }, transform: caseInsensitiveTransform, properties: { xmlns: null, xmlnsXLink: null } }); ;// CONCATENATED MODULE: ./node_modules/.pnpm/property-information@6.3.0/node_modules/property-information/lib/aria.js var aria = create({ transform: function transform(_, prop) { return prop === 'role' ? prop : 'aria-' + prop.slice(4).toLowerCase(); }, properties: { ariaActiveDescendant: null, ariaAtomic: booleanish, ariaAutoComplete: null, ariaBusy: booleanish, ariaChecked: booleanish, ariaColCount: number, ariaColIndex: number, ariaColSpan: number, ariaControls: spaceSeparated, ariaCurrent: null, ariaDescribedBy: spaceSeparated, ariaDetails: null, ariaDisabled: booleanish, ariaDropEffect: spaceSeparated, ariaErrorMessage: null, ariaExpanded: booleanish, ariaFlowTo: spaceSeparated, ariaGrabbed: booleanish, ariaHasPopup: null, ariaHidden: booleanish, ariaInvalid: null, ariaKeyShortcuts: null, ariaLabel: null, ariaLabelledBy: spaceSeparated, ariaLevel: number, ariaLive: null, ariaModal: booleanish, ariaMultiLine: booleanish, ariaMultiSelectable: booleanish, ariaOrientation: null, ariaOwns: spaceSeparated, ariaPlaceholder: null, ariaPosInSet: number, ariaPressed: booleanish, ariaReadOnly: booleanish, ariaRelevant: null, ariaRequired: booleanish, ariaRoleDescription: spaceSeparated, ariaRowCount: number, ariaRowIndex: number, ariaRowSpan: number, ariaSelected: booleanish, ariaSetSize: number, ariaSort: null, ariaValueMax: number, ariaValueMin: number, ariaValueNow: number, ariaValueText: null, role: null } }); ;// CONCATENATED MODULE: ./node_modules/.pnpm/property-information@6.3.0/node_modules/property-information/lib/html.js var html_html = create({ space: 'html', attributes: { acceptcharset: 'accept-charset', classname: 'class', htmlfor: 'for', httpequiv: 'http-equiv' }, transform: caseInsensitiveTransform, mustUseProperty: ['checked', 'multiple', 'muted', 'selected'], properties: { // Standard Properties. abbr: null, accept: commaSeparated, acceptCharset: spaceSeparated, accessKey: spaceSeparated, action: null, allow: null, allowFullScreen: types_boolean, allowPaymentRequest: types_boolean, allowUserMedia: types_boolean, alt: null, as: null, async: types_boolean, autoCapitalize: null, autoComplete: spaceSeparated, autoFocus: types_boolean, autoPlay: types_boolean, blocking: spaceSeparated, capture: types_boolean, charSet: null, checked: types_boolean, cite: null, className: spaceSeparated, cols: number, colSpan: null, content: null, contentEditable: booleanish, controls: types_boolean, controlsList: spaceSeparated, coords: number | commaSeparated, crossOrigin: null, data: null, dateTime: null, decoding: null, default: types_boolean, defer: types_boolean, dir: null, dirName: null, disabled: types_boolean, download: overloadedBoolean, draggable: booleanish, encType: null, enterKeyHint: null, fetchPriority: null, form: null, formAction: null, formEncType: null, formMethod: null, formNoValidate: types_boolean, formTarget: null, headers: spaceSeparated, height: number, hidden: types_boolean, high: number, href: null, hrefLang: null, htmlFor: spaceSeparated, httpEquiv: spaceSeparated, id: null, imageSizes: null, imageSrcSet: null, inert: types_boolean, inputMode: null, integrity: null, is: null, isMap: types_boolean, itemId: null, itemProp: spaceSeparated, itemRef: spaceSeparated, itemScope: types_boolean, itemType: spaceSeparated, kind: null, label: null, lang: null, language: null, list: null, loading: null, loop: types_boolean, low: number, manifest: null, max: null, maxLength: number, media: null, method: null, min: null, minLength: number, multiple: types_boolean, muted: types_boolean, name: null, nonce: null, noModule: types_boolean, noValidate: types_boolean, onAbort: null, onAfterPrint: null, onAuxClick: null, onBeforeMatch: null, onBeforePrint: null, onBeforeUnload: null, onBlur: null, onCancel: null, onCanPlay: null, onCanPlayThrough: null, onChange: null, onClick: null, onClose: null, onContextLost: null, onContextMenu: null, onContextRestored: null, onCopy: null, onCueChange: null, onCut: null, onDblClick: null, onDrag: null, onDragEnd: null, onDragEnter: null, onDragExit: null, onDragLeave: null, onDragOver: null, onDragStart: null, onDrop: null, onDurationChange: null, onEmptied: null, onEnded: null, onError: null, onFocus: null, onFormData: null, onHashChange: null, onInput: null, onInvalid: null, onKeyDown: null, onKeyPress: null, onKeyUp: null, onLanguageChange: null, onLoad: null, onLoadedData: null, onLoadedMetadata: null, onLoadEnd: null, onLoadStart: null, onMessage: null, onMessageError: null, onMouseDown: null, onMouseEnter: null, onMouseLeave: null, onMouseMove: null, onMouseOut: null, onMouseOver: null, onMouseUp: null, onOffline: null, onOnline: null, onPageHide: null, onPageShow: null, onPaste: null, onPause: null, onPlay: null, onPlaying: null, onPopState: null, onProgress: null, onRateChange: null, onRejectionHandled: null, onReset: null, onResize: null, onScroll: null, onScrollEnd: null, onSecurityPolicyViolation: null, onSeeked: null, onSeeking: null, onSelect: null, onSlotChange: null, onStalled: null, onStorage: null, onSubmit: null, onSuspend: null, onTimeUpdate: null, onToggle: null, onUnhandledRejection: null, onUnload: null, onVolumeChange: null, onWaiting: null, onWheel: null, open: types_boolean, optimum: number, pattern: null, ping: spaceSeparated, placeholder: null, playsInline: types_boolean, popover: null, popoverTarget: null, popoverTargetAction: null, poster: null, preload: null, readOnly: types_boolean, referrerPolicy: null, rel: spaceSeparated, required: types_boolean, reversed: types_boolean, rows: number, rowSpan: number, sandbox: spaceSeparated, scope: null, scoped: types_boolean, seamless: types_boolean, selected: types_boolean, shape: null, size: number, sizes: null, slot: null, span: number, spellCheck: booleanish, src: null, srcDoc: null, srcLang: null, srcSet: null, start: number, step: null, style: null, tabIndex: number, target: null, title: null, translate: null, type: null, typeMustMatch: types_boolean, useMap: null, value: booleanish, width: number, wrap: null, // Legacy. // See: https://html.spec.whatwg.org/#other-elements,-attributes-and-apis align: null, // Several. Use CSS `text-align` instead, aLink: null, // ``. Use CSS `a:active {color}` instead archive: spaceSeparated, // ``. List of URIs to archives axis: null, // `` and ``. Use `scope` on `` background: null, // ``. Use CSS `background-image` instead bgColor: null, // `` and table elements. Use CSS `background-color` instead border: number, // ``. Use CSS `border-width` instead, borderColor: null, // `
`. Use CSS `border-color` instead, bottomMargin: number, // `` cellPadding: null, // `
` cellSpacing: null, // `
` char: null, // Several table elements. When `align=char`, sets the character to align on charOff: null, // Several table elements. When `char`, offsets the alignment classId: null, // `` clear: null, // `
`. Use CSS `clear` instead code: null, // `` codeBase: null, // `` codeType: null, // `` color: null, // `` and `
`. Use CSS instead compact: types_boolean, // Lists. Use CSS to reduce space between items instead declare: types_boolean, // `` event: null, // `