@readme/markdown 14.2.6 → 14.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/main.node.js CHANGED
@@ -15060,6 +15060,248 @@ process.chdir = function (dir) {
15060
15060
  process.umask = function() { return 0; };
15061
15061
 
15062
15062
 
15063
+ /***/ }),
15064
+
15065
+ /***/ 6711:
15066
+ /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
15067
+
15068
+ "use strict";
15069
+ /**
15070
+ * @license React
15071
+ * react-dom-server-legacy.node.production.min.js
15072
+ *
15073
+ * Copyright (c) Facebook, Inc. and its affiliates.
15074
+ *
15075
+ * This source code is licensed under the MIT license found in the
15076
+ * LICENSE file in the root directory of this source tree.
15077
+ */
15078
+ var ea=__webpack_require__(4953),fa=__webpack_require__(2203),n=Object.prototype.hasOwnProperty,ha=/^[: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]*$/,ia={},ja={};
15079
+ function ka(a){if(n.call(ja,a))return!0;if(n.call(ia,a))return!1;if(ha.test(a))return ja[a]=!0;ia[a]=!0;return!1}function q(a,b,c,d,f,e,g){this.acceptsBooleans=2===b||3===b||4===b;this.attributeName=d;this.attributeNamespace=f;this.mustUseProperty=c;this.propertyName=a;this.type=b;this.sanitizeURL=e;this.removeEmptyString=g}var r={};
15080
+ "children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(a){r[a]=new q(a,0,!1,a,null,!1,!1)});[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(a){var b=a[0];r[b]=new q(b,1,!1,a[1],null,!1,!1)});["contentEditable","draggable","spellCheck","value"].forEach(function(a){r[a]=new q(a,2,!1,a.toLowerCase(),null,!1,!1)});
15081
+ ["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(a){r[a]=new q(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){r[a]=new q(a,3,!1,a.toLowerCase(),null,!1,!1)});
15082
+ ["checked","multiple","muted","selected"].forEach(function(a){r[a]=new q(a,3,!0,a,null,!1,!1)});["capture","download"].forEach(function(a){r[a]=new q(a,4,!1,a,null,!1,!1)});["cols","rows","size","span"].forEach(function(a){r[a]=new q(a,6,!1,a,null,!1,!1)});["rowSpan","start"].forEach(function(a){r[a]=new q(a,5,!1,a.toLowerCase(),null,!1,!1)});var la=/[\-:]([a-z])/g;function ma(a){return a[1].toUpperCase()}
15083
+ "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(la,
15084
+ ma);r[b]=new q(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(la,ma);r[b]=new q(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(la,ma);r[b]=new q(b,1,!1,a,"http://www.w3.org/XML/1998/namespace",!1,!1)});["tabIndex","crossOrigin"].forEach(function(a){r[a]=new q(a,1,!1,a.toLowerCase(),null,!1,!1)});
15085
+ r.xlinkHref=new q("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1);["src","href","action","formAction"].forEach(function(a){r[a]=new q(a,1,!1,a.toLowerCase(),null,!0,!0)});
15086
+ var t={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,
15087
+ fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},na=["Webkit","ms","Moz","O"];Object.keys(t).forEach(function(a){na.forEach(function(b){b=b+a.charAt(0).toUpperCase()+a.substring(1);t[b]=t[a]})});var oa=/["'&<>]/;
15088
+ function u(a){if("boolean"===typeof a||"number"===typeof a)return""+a;a=""+a;var b=oa.exec(a);if(b){var c="",d,f=0;for(d=b.index;d<a.length;d++){switch(a.charCodeAt(d)){case 34:b="&quot;";break;case 38:b="&amp;";break;case 39:b="&#x27;";break;case 60:b="&lt;";break;case 62:b="&gt;";break;default:continue}f!==d&&(c+=a.substring(f,d));f=d+1;c+=b}a=f!==d?c+a.substring(f,d):c}return a}var pa=/([A-Z])/g,qa=/^ms-/,ra=Array.isArray;function v(a,b){return{insertionMode:a,selectedValue:b}}
15089
+ function sa(a,b,c){switch(b){case "select":return v(1,null!=c.value?c.value:c.defaultValue);case "svg":return v(2,null);case "math":return v(3,null);case "foreignObject":return v(1,null);case "table":return v(4,null);case "thead":case "tbody":case "tfoot":return v(5,null);case "colgroup":return v(7,null);case "tr":return v(6,null)}return 4<=a.insertionMode||0===a.insertionMode?v(1,null):a}var ta=new Map;
15090
+ function ua(a,b,c){if("object"!==typeof c)throw Error("The `style` prop expects a mapping from style properties to values, not a string. For example, style={{marginRight: spacing + 'em'}} when using JSX.");b=!0;for(var d in c)if(n.call(c,d)){var f=c[d];if(null!=f&&"boolean"!==typeof f&&""!==f){if(0===d.indexOf("--")){var e=u(d);f=u((""+f).trim())}else{e=d;var g=ta.get(e);void 0!==g?e=g:(g=u(e.replace(pa,"-$1").toLowerCase().replace(qa,"-ms-")),ta.set(e,g),e=g);f="number"===typeof f?0===f||n.call(t,
15091
+ d)?""+f:f+"px":u((""+f).trim())}b?(b=!1,a.push(' style="',e,":",f)):a.push(";",e,":",f)}}b||a.push('"')}
15092
+ function w(a,b,c,d){switch(c){case "style":ua(a,b,d);return;case "defaultValue":case "defaultChecked":case "innerHTML":case "suppressContentEditableWarning":case "suppressHydrationWarning":return}if(!(2<c.length)||"o"!==c[0]&&"O"!==c[0]||"n"!==c[1]&&"N"!==c[1])if(b=r.hasOwnProperty(c)?r[c]:null,null!==b){switch(typeof d){case "function":case "symbol":return;case "boolean":if(!b.acceptsBooleans)return}c=b.attributeName;switch(b.type){case 3:d&&a.push(" ",c,'=""');break;case 4:!0===d?a.push(" ",c,'=""'):
15093
+ !1!==d&&a.push(" ",c,'="',u(d),'"');break;case 5:isNaN(d)||a.push(" ",c,'="',u(d),'"');break;case 6:!isNaN(d)&&1<=d&&a.push(" ",c,'="',u(d),'"');break;default:b.sanitizeURL&&(d=""+d),a.push(" ",c,'="',u(d),'"')}}else if(ka(c)){switch(typeof d){case "function":case "symbol":return;case "boolean":if(b=c.toLowerCase().slice(0,5),"data-"!==b&&"aria-"!==b)return}a.push(" ",c,'="',u(d),'"')}}
15094
+ function x(a,b,c){if(null!=b){if(null!=c)throw Error("Can only set one of `children` or `props.dangerouslySetInnerHTML`.");if("object"!==typeof b||!("__html"in b))throw Error("`props.dangerouslySetInnerHTML` must be in the form `{__html: ...}`. Please visit https://reactjs.org/link/dangerously-set-inner-html for more information.");b=b.__html;null!==b&&void 0!==b&&a.push(""+b)}}function va(a){var b="";ea.Children.forEach(a,function(a){null!=a&&(b+=a)});return b}
15095
+ function wa(a,b,c,d){a.push(z(c));var f=c=null,e;for(e in b)if(n.call(b,e)){var g=b[e];if(null!=g)switch(e){case "children":c=g;break;case "dangerouslySetInnerHTML":f=g;break;default:w(a,d,e,g)}}a.push(">");x(a,f,c);return"string"===typeof c?(a.push(u(c)),null):c}var xa=/^[a-zA-Z][a-zA-Z:_\.\-\d]*$/,ya=new Map;function z(a){var b=ya.get(a);if(void 0===b){if(!xa.test(a))throw Error("Invalid tag: "+a);b="<"+a;ya.set(a,b)}return b}
15096
+ function za(a,b,c,d,f){switch(b){case "select":a.push(z("select"));var e=null,g=null;for(l in c)if(n.call(c,l)){var h=c[l];if(null!=h)switch(l){case "children":e=h;break;case "dangerouslySetInnerHTML":g=h;break;case "defaultValue":case "value":break;default:w(a,d,l,h)}}a.push(">");x(a,g,e);return e;case "option":g=f.selectedValue;a.push(z("option"));var k=h=null,m=null;var l=null;for(e in c)if(n.call(c,e)){var p=c[e];if(null!=p)switch(e){case "children":h=p;break;case "selected":m=p;break;case "dangerouslySetInnerHTML":l=
15097
+ p;break;case "value":k=p;default:w(a,d,e,p)}}if(null!=g)if(c=null!==k?""+k:va(h),ra(g))for(d=0;d<g.length;d++){if(""+g[d]===c){a.push(' selected=""');break}}else""+g===c&&a.push(' selected=""');else m&&a.push(' selected=""');a.push(">");x(a,l,h);return h;case "textarea":a.push(z("textarea"));l=g=e=null;for(h in c)if(n.call(c,h)&&(k=c[h],null!=k))switch(h){case "children":l=k;break;case "value":e=k;break;case "defaultValue":g=k;break;case "dangerouslySetInnerHTML":throw Error("`dangerouslySetInnerHTML` does not make sense on <textarea>.");
15098
+ default:w(a,d,h,k)}null===e&&null!==g&&(e=g);a.push(">");if(null!=l){if(null!=e)throw Error("If you supply `defaultValue` on a <textarea>, do not pass children.");if(ra(l)&&1<l.length)throw Error("<textarea> can only have at most one child.");e=""+l}"string"===typeof e&&"\n"===e[0]&&a.push("\n");null!==e&&a.push(u(""+e));return null;case "input":a.push(z("input"));k=l=h=e=null;for(g in c)if(n.call(c,g)&&(m=c[g],null!=m))switch(g){case "children":case "dangerouslySetInnerHTML":throw Error("input is a self-closing tag and must neither have `children` nor use `dangerouslySetInnerHTML`.");
15099
+ case "defaultChecked":k=m;break;case "defaultValue":h=m;break;case "checked":l=m;break;case "value":e=m;break;default:w(a,d,g,m)}null!==l?w(a,d,"checked",l):null!==k&&w(a,d,"checked",k);null!==e?w(a,d,"value",e):null!==h&&w(a,d,"value",h);a.push("/>");return null;case "menuitem":a.push(z("menuitem"));for(var B in c)if(n.call(c,B)&&(e=c[B],null!=e))switch(B){case "children":case "dangerouslySetInnerHTML":throw Error("menuitems cannot have `children` nor `dangerouslySetInnerHTML`.");default:w(a,d,B,
15100
+ e)}a.push(">");return null;case "title":a.push(z("title"));e=null;for(p in c)if(n.call(c,p)&&(g=c[p],null!=g))switch(p){case "children":e=g;break;case "dangerouslySetInnerHTML":throw Error("`dangerouslySetInnerHTML` does not make sense on <title>.");default:w(a,d,p,g)}a.push(">");return e;case "listing":case "pre":a.push(z(b));g=e=null;for(k in c)if(n.call(c,k)&&(h=c[k],null!=h))switch(k){case "children":e=h;break;case "dangerouslySetInnerHTML":g=h;break;default:w(a,d,k,h)}a.push(">");if(null!=g){if(null!=
15101
+ e)throw Error("Can only set one of `children` or `props.dangerouslySetInnerHTML`.");if("object"!==typeof g||!("__html"in g))throw Error("`props.dangerouslySetInnerHTML` must be in the form `{__html: ...}`. Please visit https://reactjs.org/link/dangerously-set-inner-html for more information.");c=g.__html;null!==c&&void 0!==c&&("string"===typeof c&&0<c.length&&"\n"===c[0]?a.push("\n",c):a.push(""+c))}"string"===typeof e&&"\n"===e[0]&&a.push("\n");return e;case "area":case "base":case "br":case "col":case "embed":case "hr":case "img":case "keygen":case "link":case "meta":case "param":case "source":case "track":case "wbr":a.push(z(b));
15102
+ for(var C in c)if(n.call(c,C)&&(e=c[C],null!=e))switch(C){case "children":case "dangerouslySetInnerHTML":throw Error(b+" is a self-closing tag and must neither have `children` nor use `dangerouslySetInnerHTML`.");default:w(a,d,C,e)}a.push("/>");return null;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 wa(a,c,b,d);case "html":return 0===f.insertionMode&&a.push("<!DOCTYPE html>"),
15103
+ wa(a,c,b,d);default:if(-1===b.indexOf("-")&&"string"!==typeof c.is)return wa(a,c,b,d);a.push(z(b));g=e=null;for(m in c)if(n.call(c,m)&&(h=c[m],null!=h))switch(m){case "children":e=h;break;case "dangerouslySetInnerHTML":g=h;break;case "style":ua(a,d,h);break;case "suppressContentEditableWarning":case "suppressHydrationWarning":break;default:ka(m)&&"function"!==typeof h&&"symbol"!==typeof h&&a.push(" ",m,'="',u(h),'"')}a.push(">");x(a,g,e);return e}}
15104
+ function Aa(a,b,c){a.push('\x3c!--$?--\x3e<template id="');if(null===c)throw Error("An ID must have been assigned before we can complete the boundary.");a.push(c);return a.push('"></template>')}
15105
+ function Ba(a,b,c,d){switch(c.insertionMode){case 0:case 1:return a.push('<div hidden id="'),a.push(b.segmentPrefix),b=d.toString(16),a.push(b),a.push('">');case 2:return a.push('<svg aria-hidden="true" style="display:none" id="'),a.push(b.segmentPrefix),b=d.toString(16),a.push(b),a.push('">');case 3:return a.push('<math aria-hidden="true" style="display:none" id="'),a.push(b.segmentPrefix),b=d.toString(16),a.push(b),a.push('">');case 4:return a.push('<table hidden id="'),a.push(b.segmentPrefix),
15106
+ b=d.toString(16),a.push(b),a.push('">');case 5:return a.push('<table hidden><tbody id="'),a.push(b.segmentPrefix),b=d.toString(16),a.push(b),a.push('">');case 6:return a.push('<table hidden><tr id="'),a.push(b.segmentPrefix),b=d.toString(16),a.push(b),a.push('">');case 7:return a.push('<table hidden><colgroup id="'),a.push(b.segmentPrefix),b=d.toString(16),a.push(b),a.push('">');default:throw Error("Unknown insertion mode. This is a bug in React.");}}
15107
+ function Ca(a,b){switch(b.insertionMode){case 0:case 1:return a.push("</div>");case 2:return a.push("</svg>");case 3:return a.push("</math>");case 4:return a.push("</table>");case 5:return a.push("</tbody></table>");case 6:return a.push("</tr></table>");case 7:return a.push("</colgroup></table>");default:throw Error("Unknown insertion mode. This is a bug in React.");}}var Da=/[<\u2028\u2029]/g;
15108
+ function Ea(a){return JSON.stringify(a).replace(Da,function(a){switch(a){case "<":return"\\u003c";case "\u2028":return"\\u2028";case "\u2029":return"\\u2029";default:throw Error("escapeJSStringsForInstructionScripts encountered a match it does not know how to replace. this means the match regex and the replacement characters are no longer in sync. This is a bug in React");}})}
15109
+ function Fa(a,b){b=void 0===b?"":b;return{bootstrapChunks:[],startInlineScript:"<script>",placeholderPrefix:b+"P:",segmentPrefix:b+"S:",boundaryPrefix:b+"B:",idPrefix:b,nextSuspenseID:0,sentCompleteSegmentFunction:!1,sentCompleteBoundaryFunction:!1,sentClientRenderFunction:!1,generateStaticMarkup:a}}function Ga(){return{insertionMode:1,selectedValue:null}}function Ha(a,b,c,d){if(c.generateStaticMarkup)return a.push(u(b)),!1;""===b?a=d:(d&&a.push("\x3c!-- --\x3e"),a.push(u(b)),a=!0);return a}
15110
+ var A=Object.assign,Ia=Symbol.for("react.element"),Ja=Symbol.for("react.portal"),Ka=Symbol.for("react.fragment"),La=Symbol.for("react.strict_mode"),Ma=Symbol.for("react.profiler"),Na=Symbol.for("react.provider"),Oa=Symbol.for("react.context"),Pa=Symbol.for("react.forward_ref"),Qa=Symbol.for("react.suspense"),Ra=Symbol.for("react.suspense_list"),Sa=Symbol.for("react.memo"),Ta=Symbol.for("react.lazy"),Ua=Symbol.for("react.scope"),Va=Symbol.for("react.debug_trace_mode"),Wa=Symbol.for("react.legacy_hidden"),
15111
+ Xa=Symbol.for("react.default_value"),Ya=Symbol.iterator;
15112
+ function Za(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 Ka:return"Fragment";case Ja:return"Portal";case Ma:return"Profiler";case La:return"StrictMode";case Qa:return"Suspense";case Ra:return"SuspenseList"}if("object"===typeof a)switch(a.$$typeof){case Oa:return(a.displayName||"Context")+".Consumer";case Na:return(a._context.displayName||"Context")+".Provider";case Pa:var b=a.render;a=a.displayName;a||(a=b.displayName||
15113
+ b.name||"",a=""!==a?"ForwardRef("+a+")":"ForwardRef");return a;case Sa:return b=a.displayName||null,null!==b?b:Za(a.type)||"Memo";case Ta:b=a._payload;a=a._init;try{return Za(a(b))}catch(c){}}return null}var $a={};function ab(a,b){a=a.contextTypes;if(!a)return $a;var c={},d;for(d in a)c[d]=b[d];return c}var D=null;
15114
+ function E(a,b){if(a!==b){a.context._currentValue2=a.parentValue;a=a.parent;var c=b.parent;if(null===a){if(null!==c)throw Error("The stacks must reach the root at the same time. This is a bug in React.");}else{if(null===c)throw Error("The stacks must reach the root at the same time. This is a bug in React.");E(a,c)}b.context._currentValue2=b.value}}function bb(a){a.context._currentValue2=a.parentValue;a=a.parent;null!==a&&bb(a)}
15115
+ function cb(a){var b=a.parent;null!==b&&cb(b);a.context._currentValue2=a.value}function db(a,b){a.context._currentValue2=a.parentValue;a=a.parent;if(null===a)throw Error("The depth must equal at least at zero before reaching the root. This is a bug in React.");a.depth===b.depth?E(a,b):db(a,b)}
15116
+ function eb(a,b){var c=b.parent;if(null===c)throw Error("The depth must equal at least at zero before reaching the root. This is a bug in React.");a.depth===c.depth?E(a,c):eb(a,c);b.context._currentValue2=b.value}function F(a){var b=D;b!==a&&(null===b?cb(a):null===a?bb(b):b.depth===a.depth?E(b,a):b.depth>a.depth?db(b,a):eb(b,a),D=a)}
15117
+ var fb={isMounted:function(){return!1},enqueueSetState:function(a,b){a=a._reactInternals;null!==a.queue&&a.queue.push(b)},enqueueReplaceState:function(a,b){a=a._reactInternals;a.replace=!0;a.queue=[b]},enqueueForceUpdate:function(){}};
15118
+ function gb(a,b,c,d){var f=void 0!==a.state?a.state:null;a.updater=fb;a.props=c;a.state=f;var e={queue:[],replace:!1};a._reactInternals=e;var g=b.contextType;a.context="object"===typeof g&&null!==g?g._currentValue2:d;g=b.getDerivedStateFromProps;"function"===typeof g&&(g=g(c,f),f=null===g||void 0===g?f:A({},f,g),a.state=f);if("function"!==typeof b.getDerivedStateFromProps&&"function"!==typeof a.getSnapshotBeforeUpdate&&("function"===typeof a.UNSAFE_componentWillMount||"function"===typeof a.componentWillMount))if(b=
15119
+ a.state,"function"===typeof a.componentWillMount&&a.componentWillMount(),"function"===typeof a.UNSAFE_componentWillMount&&a.UNSAFE_componentWillMount(),b!==a.state&&fb.enqueueReplaceState(a,a.state,null),null!==e.queue&&0<e.queue.length)if(b=e.queue,g=e.replace,e.queue=null,e.replace=!1,g&&1===b.length)a.state=b[0];else{e=g?b[0]:a.state;f=!0;for(g=g?1:0;g<b.length;g++){var h=b[g];h="function"===typeof h?h.call(a,e,c,d):h;null!=h&&(f?(f=!1,e=A({},e,h)):A(e,h))}a.state=e}else e.queue=null}
15120
+ var hb={id:1,overflow:""};function ib(a,b,c){var d=a.id;a=a.overflow;var f=32-G(d)-1;d&=~(1<<f);c+=1;var e=32-G(b)+f;if(30<e){var g=f-f%5;e=(d&(1<<g)-1).toString(32);d>>=g;f-=g;return{id:1<<32-G(b)+f|c<<f|d,overflow:e+a}}return{id:1<<e|c<<f|d,overflow:a}}var G=Math.clz32?Math.clz32:jb,kb=Math.log,lb=Math.LN2;function jb(a){a>>>=0;return 0===a?32:31-(kb(a)/lb|0)|0}function mb(a,b){return a===b&&(0!==a||1/a===1/b)||a!==a&&b!==b}
15121
+ var nb="function"===typeof Object.is?Object.is:mb,H=null,ob=null,I=null,J=null,K=!1,L=!1,M=0,N=null,O=0;
15122
+ function P(){if(null===H)throw Error("Invalid hook call. Hooks can only be called inside of the body of a function component. This could happen for one of the following reasons:\n1. You might have mismatching versions of React and the renderer (such as React DOM)\n2. You might be breaking the Rules of Hooks\n3. You might have more than one copy of React in the same app\nSee https://reactjs.org/link/invalid-hook-call for tips about how to debug and fix this problem.");return H}
15123
+ function rb(){if(0<O)throw Error("Rendered more hooks than during the previous render");return{memoizedState:null,queue:null,next:null}}function sb(){null===J?null===I?(K=!1,I=J=rb()):(K=!0,J=I):null===J.next?(K=!1,J=J.next=rb()):(K=!0,J=J.next);return J}function tb(){ob=H=null;L=!1;I=null;O=0;J=N=null}function ub(a,b){return"function"===typeof b?b(a):b}
15124
+ function vb(a,b,c){H=P();J=sb();if(K){var d=J.queue;b=d.dispatch;if(null!==N&&(c=N.get(d),void 0!==c)){N.delete(d);d=J.memoizedState;do d=a(d,c.action),c=c.next;while(null!==c);J.memoizedState=d;return[d,b]}return[J.memoizedState,b]}a=a===ub?"function"===typeof b?b():b:void 0!==c?c(b):b;J.memoizedState=a;a=J.queue={last:null,dispatch:null};a=a.dispatch=wb.bind(null,H,a);return[J.memoizedState,a]}
15125
+ function xb(a,b){H=P();J=sb();b=void 0===b?null:b;if(null!==J){var c=J.memoizedState;if(null!==c&&null!==b){var d=c[1];a:if(null===d)d=!1;else{for(var f=0;f<d.length&&f<b.length;f++)if(!nb(b[f],d[f])){d=!1;break a}d=!0}if(d)return c[0]}}a=a();J.memoizedState=[a,b];return a}
15126
+ function wb(a,b,c){if(25<=O)throw Error("Too many re-renders. React limits the number of renders to prevent an infinite loop.");if(a===H)if(L=!0,a={action:c,next:null},null===N&&(N=new Map),c=N.get(b),void 0===c)N.set(b,a);else{for(b=c;null!==b.next;)b=b.next;b.next=a}}function yb(){throw Error("startTransition cannot be called during server rendering.");}function Q(){}
15127
+ var zb={readContext:function(a){return a._currentValue2},useContext:function(a){P();return a._currentValue2},useMemo:xb,useReducer:vb,useRef:function(a){H=P();J=sb();var b=J.memoizedState;return null===b?(a={current:a},J.memoizedState=a):b},useState:function(a){return vb(ub,a)},useInsertionEffect:Q,useLayoutEffect:function(){},useCallback:function(a,b){return xb(function(){return a},b)},useImperativeHandle:Q,useEffect:Q,useDebugValue:Q,useDeferredValue:function(a){P();return a},useTransition:function(){P();
15128
+ return[!1,yb]},useId:function(){var a=ob.treeContext;var b=a.overflow;a=a.id;a=(a&~(1<<32-G(a)-1)).toString(32)+b;var c=R;if(null===c)throw Error("Invalid hook call. Hooks can only be called inside of the body of a function component.");b=M++;a=":"+c.idPrefix+"R"+a;0<b&&(a+="H"+b.toString(32));return a+":"},useMutableSource:function(a,b){P();return b(a._source)},useSyncExternalStore:function(a,b,c){if(void 0===c)throw Error("Missing getServerSnapshot, which is required for server-rendered content. Will revert to client rendering.");
15129
+ return c()}},R=null,Ab=ea.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentDispatcher;function Bb(a){console.error(a);return null}function S(){}
15130
+ function Cb(a,b,c,d,f,e,g,h,k){var m=[],l=new Set;b={destination:null,responseState:b,progressiveChunkSize:void 0===d?12800:d,status:0,fatalError:null,nextSegmentId:0,allPendingTasks:0,pendingRootTasks:0,completedRootSegment:null,abortableTasks:l,pingedTasks:m,clientRenderedBoundaries:[],completedBoundaries:[],partialBoundaries:[],onError:void 0===f?Bb:f,onAllReady:void 0===e?S:e,onShellReady:void 0===g?S:g,onShellError:void 0===h?S:h,onFatalError:void 0===k?S:k};c=T(b,0,null,c,!1,!1);c.parentFlushed=
15131
+ !0;a=Db(b,a,null,c,l,$a,null,hb);m.push(a);return b}function Db(a,b,c,d,f,e,g,h){a.allPendingTasks++;null===c?a.pendingRootTasks++:c.pendingTasks++;var k={node:b,ping:function(){var b=a.pingedTasks;b.push(k);1===b.length&&Eb(a)},blockedBoundary:c,blockedSegment:d,abortSet:f,legacyContext:e,context:g,treeContext:h};f.add(k);return k}function T(a,b,c,d,f,e){return{status:0,id:-1,index:b,parentFlushed:!1,chunks:[],children:[],formatContext:d,boundary:c,lastPushedText:f,textEmbedded:e}}
15132
+ function U(a,b){a=a.onError(b);if(null!=a&&"string"!==typeof a)throw Error('onError returned something with a type other than "string". onError should return a string and may return null or undefined but must not return anything else. It received something of type "'+typeof a+'" instead');return a}function V(a,b){var c=a.onShellError;c(b);c=a.onFatalError;c(b);null!==a.destination?(a.status=2,a.destination.destroy(b)):(a.status=1,a.fatalError=b)}
15133
+ function Fb(a,b,c,d,f){H={};ob=b;M=0;for(a=c(d,f);L;)L=!1,M=0,O+=1,J=null,a=c(d,f);tb();return a}function Gb(a,b,c,d){var f=c.render(),e=d.childContextTypes;if(null!==e&&void 0!==e){var g=b.legacyContext;if("function"!==typeof c.getChildContext)d=g;else{c=c.getChildContext();for(var h in c)if(!(h in e))throw Error((Za(d)||"Unknown")+'.getChildContext(): key "'+h+'" is not defined in childContextTypes.');d=A({},g,c)}b.legacyContext=d;W(a,b,f);b.legacyContext=g}else W(a,b,f)}
15134
+ function Hb(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}
15135
+ function Ib(a,b,c,d,f){if("function"===typeof c)if(c.prototype&&c.prototype.isReactComponent){f=ab(c,b.legacyContext);var e=c.contextType;e=new c(d,"object"===typeof e&&null!==e?e._currentValue2:f);gb(e,c,d,f);Gb(a,b,e,c)}else{e=ab(c,b.legacyContext);f=Fb(a,b,c,d,e);var g=0!==M;if("object"===typeof f&&null!==f&&"function"===typeof f.render&&void 0===f.$$typeof)gb(f,c,d,e),Gb(a,b,f,c);else if(g){d=b.treeContext;b.treeContext=ib(d,1,0);try{W(a,b,f)}finally{b.treeContext=d}}else W(a,b,f)}else if("string"===
15136
+ typeof c){f=b.blockedSegment;e=za(f.chunks,c,d,a.responseState,f.formatContext);f.lastPushedText=!1;g=f.formatContext;f.formatContext=sa(g,c,d);Jb(a,b,e);f.formatContext=g;switch(c){case "area":case "base":case "br":case "col":case "embed":case "hr":case "img":case "input":case "keygen":case "link":case "meta":case "param":case "source":case "track":case "wbr":break;default:f.chunks.push("</",c,">")}f.lastPushedText=!1}else{switch(c){case Wa:case Va:case La:case Ma:case Ka:W(a,b,d.children);return;
15137
+ case Ra:W(a,b,d.children);return;case Ua:throw Error("ReactDOMServer does not yet support scope components.");case Qa:a:{c=b.blockedBoundary;f=b.blockedSegment;e=d.fallback;d=d.children;g=new Set;var h={id:null,rootSegmentID:-1,parentFlushed:!1,pendingTasks:0,forceClientRender:!1,completedSegments:[],byteSize:0,fallbackAbortableTasks:g,errorDigest:null},k=T(a,f.chunks.length,h,f.formatContext,!1,!1);f.children.push(k);f.lastPushedText=!1;var m=T(a,0,null,f.formatContext,!1,!1);m.parentFlushed=!0;
15138
+ b.blockedBoundary=h;b.blockedSegment=m;try{if(Jb(a,b,d),a.responseState.generateStaticMarkup||m.lastPushedText&&m.textEmbedded&&m.chunks.push("\x3c!-- --\x3e"),m.status=1,X(h,m),0===h.pendingTasks)break a}catch(l){m.status=4,h.forceClientRender=!0,h.errorDigest=U(a,l)}finally{b.blockedBoundary=c,b.blockedSegment=f}b=Db(a,e,c,k,g,b.legacyContext,b.context,b.treeContext);a.pingedTasks.push(b)}return}if("object"===typeof c&&null!==c)switch(c.$$typeof){case Pa:d=Fb(a,b,c.render,d,f);if(0!==M){c=b.treeContext;
15139
+ b.treeContext=ib(c,1,0);try{W(a,b,d)}finally{b.treeContext=c}}else W(a,b,d);return;case Sa:c=c.type;d=Hb(c,d);Ib(a,b,c,d,f);return;case Na:f=d.children;c=c._context;d=d.value;e=c._currentValue2;c._currentValue2=d;g=D;D=d={parent:g,depth:null===g?0:g.depth+1,context:c,parentValue:e,value:d};b.context=d;W(a,b,f);a=D;if(null===a)throw Error("Tried to pop a Context at the root of the app. This is a bug in React.");d=a.parentValue;a.context._currentValue2=d===Xa?a.context._defaultValue:d;a=D=a.parent;
15140
+ b.context=a;return;case Oa:d=d.children;d=d(c._currentValue2);W(a,b,d);return;case Ta:f=c._init;c=f(c._payload);d=Hb(c,d);Ib(a,b,c,d,void 0);return}throw Error("Element type is invalid: expected a string (for built-in components) or a class/function (for composite components) but got: "+((null==c?c:typeof c)+"."));}}
15141
+ function W(a,b,c){b.node=c;if("object"===typeof c&&null!==c){switch(c.$$typeof){case Ia:Ib(a,b,c.type,c.props,c.ref);return;case Ja:throw Error("Portals are not currently supported by the server renderer. Render them conditionally so that they only appear on the client render.");case Ta:var d=c._init;c=d(c._payload);W(a,b,c);return}if(ra(c)){Kb(a,b,c);return}null===c||"object"!==typeof c?d=null:(d=Ya&&c[Ya]||c["@@iterator"],d="function"===typeof d?d:null);if(d&&(d=d.call(c))){c=d.next();if(!c.done){var f=
15142
+ [];do f.push(c.value),c=d.next();while(!c.done);Kb(a,b,f)}return}a=Object.prototype.toString.call(c);throw Error("Objects are not valid as a React child (found: "+("[object Object]"===a?"object with keys {"+Object.keys(c).join(", ")+"}":a)+"). If you meant to render a collection of children, use an array instead.");}"string"===typeof c?(d=b.blockedSegment,d.lastPushedText=Ha(b.blockedSegment.chunks,c,a.responseState,d.lastPushedText)):"number"===typeof c&&(d=b.blockedSegment,d.lastPushedText=Ha(b.blockedSegment.chunks,
15143
+ ""+c,a.responseState,d.lastPushedText))}function Kb(a,b,c){for(var d=c.length,f=0;f<d;f++){var e=b.treeContext;b.treeContext=ib(e,d,f);try{Jb(a,b,c[f])}finally{b.treeContext=e}}}
15144
+ function Jb(a,b,c){var d=b.blockedSegment.formatContext,f=b.legacyContext,e=b.context;try{return W(a,b,c)}catch(k){if(tb(),"object"===typeof k&&null!==k&&"function"===typeof k.then){c=k;var g=b.blockedSegment,h=T(a,g.chunks.length,null,g.formatContext,g.lastPushedText,!0);g.children.push(h);g.lastPushedText=!1;a=Db(a,b.node,b.blockedBoundary,h,b.abortSet,b.legacyContext,b.context,b.treeContext).ping;c.then(a,a);b.blockedSegment.formatContext=d;b.legacyContext=f;b.context=e;F(e)}else throw b.blockedSegment.formatContext=
15145
+ d,b.legacyContext=f,b.context=e,F(e),k;}}function Lb(a){var b=a.blockedBoundary;a=a.blockedSegment;a.status=3;Mb(this,b,a)}
15146
+ function Nb(a,b,c){var d=a.blockedBoundary;a.blockedSegment.status=3;null===d?(b.allPendingTasks--,2!==b.status&&(b.status=2,null!==b.destination&&b.destination.push(null))):(d.pendingTasks--,d.forceClientRender||(d.forceClientRender=!0,d.errorDigest=b.onError(void 0===c?Error("The render was aborted by the server without a reason."):c),d.parentFlushed&&b.clientRenderedBoundaries.push(d)),d.fallbackAbortableTasks.forEach(function(a){return Nb(a,b,c)}),d.fallbackAbortableTasks.clear(),b.allPendingTasks--,
15147
+ 0===b.allPendingTasks&&(a=b.onAllReady,a()))}function X(a,b){if(0===b.chunks.length&&1===b.children.length&&null===b.children[0].boundary){var c=b.children[0];c.id=b.id;c.parentFlushed=!0;1===c.status&&X(a,c)}else a.completedSegments.push(b)}
15148
+ function Mb(a,b,c){if(null===b){if(c.parentFlushed){if(null!==a.completedRootSegment)throw Error("There can only be one root segment. This is a bug in React.");a.completedRootSegment=c}a.pendingRootTasks--;0===a.pendingRootTasks&&(a.onShellError=S,b=a.onShellReady,b())}else b.pendingTasks--,b.forceClientRender||(0===b.pendingTasks?(c.parentFlushed&&1===c.status&&X(b,c),b.parentFlushed&&a.completedBoundaries.push(b),b.fallbackAbortableTasks.forEach(Lb,a),b.fallbackAbortableTasks.clear()):c.parentFlushed&&
15149
+ 1===c.status&&(X(b,c),1===b.completedSegments.length&&b.parentFlushed&&a.partialBoundaries.push(b)));a.allPendingTasks--;0===a.allPendingTasks&&(a=a.onAllReady,a())}
15150
+ function Eb(a){if(2!==a.status){var b=D,c=Ab.current;Ab.current=zb;var d=R;R=a.responseState;try{var f=a.pingedTasks,e;for(e=0;e<f.length;e++){var g=f[e];var h=a,k=g.blockedSegment;if(0===k.status){F(g.context);try{W(h,g,g.node),h.responseState.generateStaticMarkup||k.lastPushedText&&k.textEmbedded&&k.chunks.push("\x3c!-- --\x3e"),g.abortSet.delete(g),k.status=1,Mb(h,g.blockedBoundary,k)}catch(y){if(tb(),"object"===typeof y&&null!==y&&"function"===typeof y.then){var m=g.ping;y.then(m,m)}else{g.abortSet.delete(g);
15151
+ k.status=4;var l=g.blockedBoundary,p=y,B=U(h,p);null===l?V(h,p):(l.pendingTasks--,l.forceClientRender||(l.forceClientRender=!0,l.errorDigest=B,l.parentFlushed&&h.clientRenderedBoundaries.push(l)));h.allPendingTasks--;if(0===h.allPendingTasks){var C=h.onAllReady;C()}}}finally{}}}f.splice(0,e);null!==a.destination&&Ob(a,a.destination)}catch(y){U(a,y),V(a,y)}finally{R=d,Ab.current=c,c===zb&&F(b)}}}
15152
+ function Y(a,b,c){c.parentFlushed=!0;switch(c.status){case 0:var d=c.id=a.nextSegmentId++;c.lastPushedText=!1;c.textEmbedded=!1;a=a.responseState;b.push('<template id="');b.push(a.placeholderPrefix);a=d.toString(16);b.push(a);return b.push('"></template>');case 1:c.status=2;var f=!0;d=c.chunks;var e=0;c=c.children;for(var g=0;g<c.length;g++){for(f=c[g];e<f.index;e++)b.push(d[e]);f=Z(a,b,f)}for(;e<d.length-1;e++)b.push(d[e]);e<d.length&&(f=b.push(d[e]));return f;default:throw Error("Aborted, errored or already flushed boundaries should not be flushed again. This is a bug in React.");
15153
+ }}
15154
+ function Z(a,b,c){var d=c.boundary;if(null===d)return Y(a,b,c);d.parentFlushed=!0;if(d.forceClientRender)return a.responseState.generateStaticMarkup||(d=d.errorDigest,b.push("\x3c!--$!--\x3e"),b.push("<template"),d&&(b.push(' data-dgst="'),d=u(d),b.push(d),b.push('"')),b.push("></template>")),Y(a,b,c),a=a.responseState.generateStaticMarkup?!0:b.push("\x3c!--/$--\x3e"),a;if(0<d.pendingTasks){d.rootSegmentID=a.nextSegmentId++;0<d.completedSegments.length&&a.partialBoundaries.push(d);var f=a.responseState;var e=
15155
+ f.nextSuspenseID++;f=f.boundaryPrefix+e.toString(16);d=d.id=f;Aa(b,a.responseState,d);Y(a,b,c);return b.push("\x3c!--/$--\x3e")}if(d.byteSize>a.progressiveChunkSize)return d.rootSegmentID=a.nextSegmentId++,a.completedBoundaries.push(d),Aa(b,a.responseState,d.id),Y(a,b,c),b.push("\x3c!--/$--\x3e");a.responseState.generateStaticMarkup||b.push("\x3c!--$--\x3e");c=d.completedSegments;if(1!==c.length)throw Error("A previously unvisited boundary must have exactly one root segment. This is a bug in React.");
15156
+ Z(a,b,c[0]);a=a.responseState.generateStaticMarkup?!0:b.push("\x3c!--/$--\x3e");return a}function Pb(a,b,c){Ba(b,a.responseState,c.formatContext,c.id);Z(a,b,c);return Ca(b,c.formatContext)}
15157
+ function Qb(a,b,c){for(var d=c.completedSegments,f=0;f<d.length;f++)Rb(a,b,c,d[f]);d.length=0;a=a.responseState;d=c.id;c=c.rootSegmentID;b.push(a.startInlineScript);a.sentCompleteBoundaryFunction?b.push('$RC("'):(a.sentCompleteBoundaryFunction=!0,b.push('function $RC(a,b){a=document.getElementById(a);b=document.getElementById(b);b.parentNode.removeChild(b);if(a){a=a.previousSibling;var f=a.parentNode,c=a.nextSibling,e=0;do{if(c&&8===c.nodeType){var d=c.data;if("/$"===d)if(0===e)break;else e--;else"$"!==d&&"$?"!==d&&"$!"!==d||e++}d=c.nextSibling;f.removeChild(c);c=d}while(c);for(;b.firstChild;)f.insertBefore(b.firstChild,c);a.data="$";a._reactRetry&&a._reactRetry()}};$RC("'));if(null===
15158
+ d)throw Error("An ID must have been assigned before we can complete the boundary.");c=c.toString(16);b.push(d);b.push('","');b.push(a.segmentPrefix);b.push(c);return b.push('")\x3c/script>')}
15159
+ function Rb(a,b,c,d){if(2===d.status)return!0;var f=d.id;if(-1===f){if(-1===(d.id=c.rootSegmentID))throw Error("A root segment ID must have been assigned by now. This is a bug in React.");return Pb(a,b,d)}Pb(a,b,d);a=a.responseState;b.push(a.startInlineScript);a.sentCompleteSegmentFunction?b.push('$RS("'):(a.sentCompleteSegmentFunction=!0,b.push('function $RS(a,b){a=document.getElementById(a);b=document.getElementById(b);for(a.parentNode.removeChild(a);a.firstChild;)b.parentNode.insertBefore(a.firstChild,b);b.parentNode.removeChild(b)};$RS("'));
15160
+ b.push(a.segmentPrefix);f=f.toString(16);b.push(f);b.push('","');b.push(a.placeholderPrefix);b.push(f);return b.push('")\x3c/script>')}
15161
+ function Ob(a,b){try{var c=a.completedRootSegment;if(null!==c&&0===a.pendingRootTasks){Z(a,b,c);a.completedRootSegment=null;var d=a.responseState.bootstrapChunks;for(c=0;c<d.length-1;c++)b.push(d[c]);c<d.length&&b.push(d[c])}var f=a.clientRenderedBoundaries,e;for(e=0;e<f.length;e++){var g=f[e];d=b;var h=a.responseState,k=g.id,m=g.errorDigest,l=g.errorMessage,p=g.errorComponentStack;d.push(h.startInlineScript);h.sentClientRenderFunction?d.push('$RX("'):(h.sentClientRenderFunction=!0,d.push('function $RX(b,c,d,e){var a=document.getElementById(b);a&&(b=a.previousSibling,b.data="$!",a=a.dataset,c&&(a.dgst=c),d&&(a.msg=d),e&&(a.stck=e),b._reactRetry&&b._reactRetry())};$RX("'));
15162
+ if(null===k)throw Error("An ID must have been assigned before we can complete the boundary.");d.push(k);d.push('"');if(m||l||p){d.push(",");var B=Ea(m||"");d.push(B)}if(l||p){d.push(",");var C=Ea(l||"");d.push(C)}if(p){d.push(",");var y=Ea(p);d.push(y)}if(!d.push(")\x3c/script>")){a.destination=null;e++;f.splice(0,e);return}}f.splice(0,e);var aa=a.completedBoundaries;for(e=0;e<aa.length;e++)if(!Qb(a,b,aa[e])){a.destination=null;e++;aa.splice(0,e);return}aa.splice(0,e);var ba=a.partialBoundaries;for(e=
15163
+ 0;e<ba.length;e++){var pb=ba[e];a:{f=a;g=b;var ca=pb.completedSegments;for(h=0;h<ca.length;h++)if(!Rb(f,g,pb,ca[h])){h++;ca.splice(0,h);var qb=!1;break a}ca.splice(0,h);qb=!0}if(!qb){a.destination=null;e++;ba.splice(0,e);return}}ba.splice(0,e);var da=a.completedBoundaries;for(e=0;e<da.length;e++)if(!Qb(a,b,da[e])){a.destination=null;e++;da.splice(0,e);return}da.splice(0,e)}finally{0===a.allPendingTasks&&0===a.pingedTasks.length&&0===a.clientRenderedBoundaries.length&&0===a.completedBoundaries.length&&
15164
+ b.push(null)}}function Sb(a,b){if(1===a.status)a.status=2,b.destroy(a.fatalError);else if(2!==a.status&&null===a.destination){a.destination=b;try{Ob(a,b)}catch(c){U(a,c),V(a,c)}}}function Tb(a,b){try{var c=a.abortableTasks;c.forEach(function(c){return Nb(c,a,b)});c.clear();null!==a.destination&&Ob(a,a.destination)}catch(d){U(a,d),V(a,d)}}function Ub(){}
15165
+ function Vb(a,b,c,d){var f=!1,e=null,g="",h=!1;a=Cb(a,Fa(c,b?b.identifierPrefix:void 0),Ga(),Infinity,Ub,void 0,function(){h=!0},void 0,void 0);Eb(a);Tb(a,d);Sb(a,{push:function(a){null!==a&&(g+=a);return!0},destroy:function(a){f=!0;e=a}});if(f)throw e;if(!h)throw Error("A component suspended while responding to synchronous input. This will cause the UI to be replaced with a loading indicator. To fix, updates that suspend should be wrapped with startTransition.");return g}
15166
+ function Wb(a,b){a.prototype=Object.create(b.prototype);a.prototype.constructor=a;a.__proto__=b}var Xb=function(a){function b(){var b=a.call(this,{})||this;b.request=null;b.startedFlowing=!1;return b}Wb(b,a);var c=b.prototype;c._destroy=function(a,b){Tb(this.request);b(a)};c._read=function(){this.startedFlowing&&Sb(this.request,this)};return b}(fa.Readable);function Yb(){}
15167
+ function Zb(a,b){var c=new Xb,d=Cb(a,Fa(!1,b?b.identifierPrefix:void 0),Ga(),Infinity,Yb,function(){c.startedFlowing=!0;Sb(d,c)},void 0,void 0);c.request=d;Eb(d);return c}exports.renderToNodeStream=function(a,b){return Zb(a,b)};exports.renderToStaticMarkup=function(a,b){return Vb(a,b,!0,'The server used "renderToStaticMarkup" which does not support Suspense. If you intended to have the server wait for the suspended component please switch to "renderToPipeableStream" which supports Suspense on the server')};
15168
+ exports.renderToStaticNodeStream=function(a,b){return Zb(a,b)};exports.renderToString=function(a,b){return Vb(a,b,!1,'The server used "renderToString" which does not support Suspense. If you intended for this Suspense boundary to render the fallback content on the server consider throwing an Error somewhere within the Suspense boundary. If you intended to have the server wait for the suspended component please switch to "renderToPipeableStream" which supports Suspense on the server')};
15169
+ exports.version="18.2.0";
15170
+
15171
+
15172
+ /***/ }),
15173
+
15174
+ /***/ 6513:
15175
+ /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
15176
+
15177
+ "use strict";
15178
+ /**
15179
+ * @license React
15180
+ * react-dom-server.node.production.min.js
15181
+ *
15182
+ * Copyright (c) Facebook, Inc. and its affiliates.
15183
+ *
15184
+ * This source code is licensed under the MIT license found in the
15185
+ * LICENSE file in the root directory of this source tree.
15186
+ */
15187
+ var aa=__webpack_require__(9023),ba=__webpack_require__(4953),k=null,l=0,q=!0;
15188
+ function r(a,b){if("string"===typeof b){if(0!==b.length)if(2048<3*b.length)0<l&&(t(a,k.subarray(0,l)),k=new Uint8Array(2048),l=0),t(a,u.encode(b));else{var c=k;0<l&&(c=k.subarray(l));c=u.encodeInto(b,c);var d=c.read;l+=c.written;d<b.length&&(t(a,k),k=new Uint8Array(2048),l=u.encodeInto(b.slice(d),k).written);2048===l&&(t(a,k),k=new Uint8Array(2048),l=0)}}else 0!==b.byteLength&&(2048<b.byteLength?(0<l&&(t(a,k.subarray(0,l)),k=new Uint8Array(2048),l=0),t(a,b)):(c=k.length-l,c<b.byteLength&&(0===c?t(a,
15189
+ k):(k.set(b.subarray(0,c),l),l+=c,t(a,k),b=b.subarray(c)),k=new Uint8Array(2048),l=0),k.set(b,l),l+=b.byteLength,2048===l&&(t(a,k),k=new Uint8Array(2048),l=0)))}function t(a,b){a=a.write(b);q=q&&a}function w(a,b){r(a,b);return q}function ca(a){k&&0<l&&a.write(k.subarray(0,l));k=null;l=0;q=!0}var u=new aa.TextEncoder;function x(a){return u.encode(a)}
15190
+ var y=Object.prototype.hasOwnProperty,da=/^[: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]*$/,ea={},fa={};
15191
+ function ha(a){if(y.call(fa,a))return!0;if(y.call(ea,a))return!1;if(da.test(a))return fa[a]=!0;ea[a]=!0;return!1}function z(a,b,c,d,f,e,g){this.acceptsBooleans=2===b||3===b||4===b;this.attributeName=d;this.attributeNamespace=f;this.mustUseProperty=c;this.propertyName=a;this.type=b;this.sanitizeURL=e;this.removeEmptyString=g}var A={};
15192
+ "children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(a){A[a]=new z(a,0,!1,a,null,!1,!1)});[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(a){var b=a[0];A[b]=new z(b,1,!1,a[1],null,!1,!1)});["contentEditable","draggable","spellCheck","value"].forEach(function(a){A[a]=new z(a,2,!1,a.toLowerCase(),null,!1,!1)});
15193
+ ["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(a){A[a]=new z(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){A[a]=new z(a,3,!1,a.toLowerCase(),null,!1,!1)});
15194
+ ["checked","multiple","muted","selected"].forEach(function(a){A[a]=new z(a,3,!0,a,null,!1,!1)});["capture","download"].forEach(function(a){A[a]=new z(a,4,!1,a,null,!1,!1)});["cols","rows","size","span"].forEach(function(a){A[a]=new z(a,6,!1,a,null,!1,!1)});["rowSpan","start"].forEach(function(a){A[a]=new z(a,5,!1,a.toLowerCase(),null,!1,!1)});var ia=/[\-:]([a-z])/g;function ja(a){return a[1].toUpperCase()}
15195
+ "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(ia,
15196
+ ja);A[b]=new z(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(ia,ja);A[b]=new z(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(ia,ja);A[b]=new z(b,1,!1,a,"http://www.w3.org/XML/1998/namespace",!1,!1)});["tabIndex","crossOrigin"].forEach(function(a){A[a]=new z(a,1,!1,a.toLowerCase(),null,!1,!1)});
15197
+ A.xlinkHref=new z("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1);["src","href","action","formAction"].forEach(function(a){A[a]=new z(a,1,!1,a.toLowerCase(),null,!0,!0)});
15198
+ var B={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,
15199
+ fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},ka=["Webkit","ms","Moz","O"];Object.keys(B).forEach(function(a){ka.forEach(function(b){b=b+a.charAt(0).toUpperCase()+a.substring(1);B[b]=B[a]})});var la=/["'&<>]/;
15200
+ function F(a){if("boolean"===typeof a||"number"===typeof a)return""+a;a=""+a;var b=la.exec(a);if(b){var c="",d,f=0;for(d=b.index;d<a.length;d++){switch(a.charCodeAt(d)){case 34:b="&quot;";break;case 38:b="&amp;";break;case 39:b="&#x27;";break;case 60:b="&lt;";break;case 62:b="&gt;";break;default:continue}f!==d&&(c+=a.substring(f,d));f=d+1;c+=b}a=f!==d?c+a.substring(f,d):c}return a}
15201
+ var ma=/([A-Z])/g,pa=/^ms-/,qa=Array.isArray,ra=x("<script>"),sa=x("\x3c/script>"),ta=x('<script src="'),ua=x('<script type="module" src="'),va=x('" async="">\x3c/script>'),wa=/(<\/|<)(s)(cript)/gi;function xa(a,b,c,d){return""+b+("s"===c?"\\u0073":"\\u0053")+d}function G(a,b){return{insertionMode:a,selectedValue:b}}
15202
+ function ya(a,b,c){switch(b){case "select":return G(1,null!=c.value?c.value:c.defaultValue);case "svg":return G(2,null);case "math":return G(3,null);case "foreignObject":return G(1,null);case "table":return G(4,null);case "thead":case "tbody":case "tfoot":return G(5,null);case "colgroup":return G(7,null);case "tr":return G(6,null)}return 4<=a.insertionMode||0===a.insertionMode?G(1,null):a}var za=x("\x3c!-- --\x3e");function Aa(a,b,c,d){if(""===b)return d;d&&a.push(za);a.push(F(b));return!0}
15203
+ var Ba=new Map,Ca=x(' style="'),Da=x(":"),Ea=x(";");
15204
+ function Fa(a,b,c){if("object"!==typeof c)throw Error("The `style` prop expects a mapping from style properties to values, not a string. For example, style={{marginRight: spacing + 'em'}} when using JSX.");b=!0;for(var d in c)if(y.call(c,d)){var f=c[d];if(null!=f&&"boolean"!==typeof f&&""!==f){if(0===d.indexOf("--")){var e=F(d);f=F((""+f).trim())}else{e=d;var g=Ba.get(e);void 0!==g?e=g:(g=x(F(e.replace(ma,"-$1").toLowerCase().replace(pa,"-ms-"))),Ba.set(e,g),e=g);f="number"===typeof f?0===f||y.call(B,
15205
+ d)?""+f:f+"px":F((""+f).trim())}b?(b=!1,a.push(Ca,e,Da,f)):a.push(Ea,e,Da,f)}}b||a.push(H)}var I=x(" "),J=x('="'),H=x('"'),Ga=x('=""');
15206
+ function K(a,b,c,d){switch(c){case "style":Fa(a,b,d);return;case "defaultValue":case "defaultChecked":case "innerHTML":case "suppressContentEditableWarning":case "suppressHydrationWarning":return}if(!(2<c.length)||"o"!==c[0]&&"O"!==c[0]||"n"!==c[1]&&"N"!==c[1])if(b=A.hasOwnProperty(c)?A[c]:null,null!==b){switch(typeof d){case "function":case "symbol":return;case "boolean":if(!b.acceptsBooleans)return}c=b.attributeName;switch(b.type){case 3:d&&a.push(I,c,Ga);break;case 4:!0===d?a.push(I,c,Ga):!1!==
15207
+ d&&a.push(I,c,J,F(d),H);break;case 5:isNaN(d)||a.push(I,c,J,F(d),H);break;case 6:!isNaN(d)&&1<=d&&a.push(I,c,J,F(d),H);break;default:b.sanitizeURL&&(d=""+d),a.push(I,c,J,F(d),H)}}else if(ha(c)){switch(typeof d){case "function":case "symbol":return;case "boolean":if(b=c.toLowerCase().slice(0,5),"data-"!==b&&"aria-"!==b)return}a.push(I,c,J,F(d),H)}}var L=x(">"),Ha=x("/>");
15208
+ function M(a,b,c){if(null!=b){if(null!=c)throw Error("Can only set one of `children` or `props.dangerouslySetInnerHTML`.");if("object"!==typeof b||!("__html"in b))throw Error("`props.dangerouslySetInnerHTML` must be in the form `{__html: ...}`. Please visit https://reactjs.org/link/dangerously-set-inner-html for more information.");b=b.__html;null!==b&&void 0!==b&&a.push(""+b)}}function Ia(a){var b="";ba.Children.forEach(a,function(a){null!=a&&(b+=a)});return b}var Ja=x(' selected=""');
15209
+ function Ka(a,b,c,d){a.push(N(c));var f=c=null,e;for(e in b)if(y.call(b,e)){var g=b[e];if(null!=g)switch(e){case "children":c=g;break;case "dangerouslySetInnerHTML":f=g;break;default:K(a,d,e,g)}}a.push(L);M(a,f,c);return"string"===typeof c?(a.push(F(c)),null):c}var La=x("\n"),Ma=/^[a-zA-Z][a-zA-Z:_\.\-\d]*$/,Na=new Map;function N(a){var b=Na.get(a);if(void 0===b){if(!Ma.test(a))throw Error("Invalid tag: "+a);b=x("<"+a);Na.set(a,b)}return b}var Oa=x("<!DOCTYPE html>");
15210
+ function Pa(a,b,c,d,f){switch(b){case "select":a.push(N("select"));var e=null,g=null;for(p in c)if(y.call(c,p)){var h=c[p];if(null!=h)switch(p){case "children":e=h;break;case "dangerouslySetInnerHTML":g=h;break;case "defaultValue":case "value":break;default:K(a,d,p,h)}}a.push(L);M(a,g,e);return e;case "option":g=f.selectedValue;a.push(N("option"));var m=h=null,n=null;var p=null;for(e in c)if(y.call(c,e)){var v=c[e];if(null!=v)switch(e){case "children":h=v;break;case "selected":n=v;break;case "dangerouslySetInnerHTML":p=
15211
+ v;break;case "value":m=v;default:K(a,d,e,v)}}if(null!=g)if(c=null!==m?""+m:Ia(h),qa(g))for(d=0;d<g.length;d++){if(""+g[d]===c){a.push(Ja);break}}else""+g===c&&a.push(Ja);else n&&a.push(Ja);a.push(L);M(a,p,h);return h;case "textarea":a.push(N("textarea"));p=g=e=null;for(h in c)if(y.call(c,h)&&(m=c[h],null!=m))switch(h){case "children":p=m;break;case "value":e=m;break;case "defaultValue":g=m;break;case "dangerouslySetInnerHTML":throw Error("`dangerouslySetInnerHTML` does not make sense on <textarea>.");
15212
+ default:K(a,d,h,m)}null===e&&null!==g&&(e=g);a.push(L);if(null!=p){if(null!=e)throw Error("If you supply `defaultValue` on a <textarea>, do not pass children.");if(qa(p)&&1<p.length)throw Error("<textarea> can only have at most one child.");e=""+p}"string"===typeof e&&"\n"===e[0]&&a.push(La);null!==e&&a.push(F(""+e));return null;case "input":a.push(N("input"));m=p=h=e=null;for(g in c)if(y.call(c,g)&&(n=c[g],null!=n))switch(g){case "children":case "dangerouslySetInnerHTML":throw Error("input is a self-closing tag and must neither have `children` nor use `dangerouslySetInnerHTML`.");
15213
+ case "defaultChecked":m=n;break;case "defaultValue":h=n;break;case "checked":p=n;break;case "value":e=n;break;default:K(a,d,g,n)}null!==p?K(a,d,"checked",p):null!==m&&K(a,d,"checked",m);null!==e?K(a,d,"value",e):null!==h&&K(a,d,"value",h);a.push(Ha);return null;case "menuitem":a.push(N("menuitem"));for(var C in c)if(y.call(c,C)&&(e=c[C],null!=e))switch(C){case "children":case "dangerouslySetInnerHTML":throw Error("menuitems cannot have `children` nor `dangerouslySetInnerHTML`.");default:K(a,d,C,e)}a.push(L);
15214
+ return null;case "title":a.push(N("title"));e=null;for(v in c)if(y.call(c,v)&&(g=c[v],null!=g))switch(v){case "children":e=g;break;case "dangerouslySetInnerHTML":throw Error("`dangerouslySetInnerHTML` does not make sense on <title>.");default:K(a,d,v,g)}a.push(L);return e;case "listing":case "pre":a.push(N(b));g=e=null;for(m in c)if(y.call(c,m)&&(h=c[m],null!=h))switch(m){case "children":e=h;break;case "dangerouslySetInnerHTML":g=h;break;default:K(a,d,m,h)}a.push(L);if(null!=g){if(null!=e)throw Error("Can only set one of `children` or `props.dangerouslySetInnerHTML`.");
15215
+ if("object"!==typeof g||!("__html"in g))throw Error("`props.dangerouslySetInnerHTML` must be in the form `{__html: ...}`. Please visit https://reactjs.org/link/dangerously-set-inner-html for more information.");c=g.__html;null!==c&&void 0!==c&&("string"===typeof c&&0<c.length&&"\n"===c[0]?a.push(La,c):a.push(""+c))}"string"===typeof e&&"\n"===e[0]&&a.push(La);return e;case "area":case "base":case "br":case "col":case "embed":case "hr":case "img":case "keygen":case "link":case "meta":case "param":case "source":case "track":case "wbr":a.push(N(b));
15216
+ for(var D in c)if(y.call(c,D)&&(e=c[D],null!=e))switch(D){case "children":case "dangerouslySetInnerHTML":throw Error(b+" is a self-closing tag and must neither have `children` nor use `dangerouslySetInnerHTML`.");default:K(a,d,D,e)}a.push(Ha);return null;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 Ka(a,c,b,d);case "html":return 0===f.insertionMode&&a.push(Oa),Ka(a,c,
15217
+ b,d);default:if(-1===b.indexOf("-")&&"string"!==typeof c.is)return Ka(a,c,b,d);a.push(N(b));g=e=null;for(n in c)if(y.call(c,n)&&(h=c[n],null!=h))switch(n){case "children":e=h;break;case "dangerouslySetInnerHTML":g=h;break;case "style":Fa(a,d,h);break;case "suppressContentEditableWarning":case "suppressHydrationWarning":break;default:ha(n)&&"function"!==typeof h&&"symbol"!==typeof h&&a.push(I,n,J,F(h),H)}a.push(L);M(a,g,e);return e}}
15218
+ var Qa=x("</"),Ra=x(">"),Sa=x('<template id="'),Ta=x('"></template>'),Ua=x("\x3c!--$--\x3e"),Va=x('\x3c!--$?--\x3e<template id="'),Wa=x('"></template>'),Xa=x("\x3c!--$!--\x3e"),Ya=x("\x3c!--/$--\x3e"),Za=x("<template"),$a=x('"'),ab=x(' data-dgst="');x(' data-msg="');x(' data-stck="');var bb=x("></template>");function cb(a,b,c){r(a,Va);if(null===c)throw Error("An ID must have been assigned before we can complete the boundary.");r(a,c);return w(a,Wa)}
15219
+ var db=x('<div hidden id="'),eb=x('">'),fb=x("</div>"),gb=x('<svg aria-hidden="true" style="display:none" id="'),hb=x('">'),ib=x("</svg>"),jb=x('<math aria-hidden="true" style="display:none" id="'),kb=x('">'),lb=x("</math>"),mb=x('<table hidden id="'),nb=x('">'),ob=x("</table>"),pb=x('<table hidden><tbody id="'),qb=x('">'),rb=x("</tbody></table>"),sb=x('<table hidden><tr id="'),tb=x('">'),ub=x("</tr></table>"),vb=x('<table hidden><colgroup id="'),wb=x('">'),xb=x("</colgroup></table>");
15220
+ function yb(a,b,c,d){switch(c.insertionMode){case 0:case 1:return r(a,db),r(a,b.segmentPrefix),r(a,d.toString(16)),w(a,eb);case 2:return r(a,gb),r(a,b.segmentPrefix),r(a,d.toString(16)),w(a,hb);case 3:return r(a,jb),r(a,b.segmentPrefix),r(a,d.toString(16)),w(a,kb);case 4:return r(a,mb),r(a,b.segmentPrefix),r(a,d.toString(16)),w(a,nb);case 5:return r(a,pb),r(a,b.segmentPrefix),r(a,d.toString(16)),w(a,qb);case 6:return r(a,sb),r(a,b.segmentPrefix),r(a,d.toString(16)),w(a,tb);case 7:return r(a,vb),r(a,
15221
+ b.segmentPrefix),r(a,d.toString(16)),w(a,wb);default:throw Error("Unknown insertion mode. This is a bug in React.");}}function zb(a,b){switch(b.insertionMode){case 0:case 1:return w(a,fb);case 2:return w(a,ib);case 3:return w(a,lb);case 4:return w(a,ob);case 5:return w(a,rb);case 6:return w(a,ub);case 7:return w(a,xb);default:throw Error("Unknown insertion mode. This is a bug in React.");}}
15222
+ var Ab=x('function $RS(a,b){a=document.getElementById(a);b=document.getElementById(b);for(a.parentNode.removeChild(a);a.firstChild;)b.parentNode.insertBefore(a.firstChild,b);b.parentNode.removeChild(b)};$RS("'),Bb=x('$RS("'),Cb=x('","'),Db=x('")\x3c/script>'),Fb=x('function $RC(a,b){a=document.getElementById(a);b=document.getElementById(b);b.parentNode.removeChild(b);if(a){a=a.previousSibling;var f=a.parentNode,c=a.nextSibling,e=0;do{if(c&&8===c.nodeType){var d=c.data;if("/$"===d)if(0===e)break;else e--;else"$"!==d&&"$?"!==d&&"$!"!==d||e++}d=c.nextSibling;f.removeChild(c);c=d}while(c);for(;b.firstChild;)f.insertBefore(b.firstChild,c);a.data="$";a._reactRetry&&a._reactRetry()}};$RC("'),
15223
+ Gb=x('$RC("'),Hb=x('","'),Ib=x('")\x3c/script>'),Jb=x('function $RX(b,c,d,e){var a=document.getElementById(b);a&&(b=a.previousSibling,b.data="$!",a=a.dataset,c&&(a.dgst=c),d&&(a.msg=d),e&&(a.stck=e),b._reactRetry&&b._reactRetry())};$RX("'),Kb=x('$RX("'),Lb=x('"'),Mb=x(")\x3c/script>"),Nb=x(","),Ob=/[<\u2028\u2029]/g;
15224
+ function Pb(a){return JSON.stringify(a).replace(Ob,function(a){switch(a){case "<":return"\\u003c";case "\u2028":return"\\u2028";case "\u2029":return"\\u2029";default:throw Error("escapeJSStringsForInstructionScripts encountered a match it does not know how to replace. this means the match regex and the replacement characters are no longer in sync. This is a bug in React");}})}
15225
+ var O=Object.assign,Qb=Symbol.for("react.element"),Rb=Symbol.for("react.portal"),Sb=Symbol.for("react.fragment"),Tb=Symbol.for("react.strict_mode"),Ub=Symbol.for("react.profiler"),Vb=Symbol.for("react.provider"),Wb=Symbol.for("react.context"),Xb=Symbol.for("react.forward_ref"),Yb=Symbol.for("react.suspense"),Zb=Symbol.for("react.suspense_list"),$b=Symbol.for("react.memo"),ac=Symbol.for("react.lazy"),bc=Symbol.for("react.scope"),cc=Symbol.for("react.debug_trace_mode"),dc=Symbol.for("react.legacy_hidden"),
15226
+ ec=Symbol.for("react.default_value"),fc=Symbol.iterator;
15227
+ function gc(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 Sb:return"Fragment";case Rb:return"Portal";case Ub:return"Profiler";case Tb:return"StrictMode";case Yb:return"Suspense";case Zb:return"SuspenseList"}if("object"===typeof a)switch(a.$$typeof){case Wb:return(a.displayName||"Context")+".Consumer";case Vb:return(a._context.displayName||"Context")+".Provider";case Xb:var b=a.render;a=a.displayName;a||(a=b.displayName||
15228
+ b.name||"",a=""!==a?"ForwardRef("+a+")":"ForwardRef");return a;case $b:return b=a.displayName||null,null!==b?b:gc(a.type)||"Memo";case ac:b=a._payload;a=a._init;try{return gc(a(b))}catch(c){}}return null}var hc={};function ic(a,b){a=a.contextTypes;if(!a)return hc;var c={},d;for(d in a)c[d]=b[d];return c}var P=null;
15229
+ function Q(a,b){if(a!==b){a.context._currentValue=a.parentValue;a=a.parent;var c=b.parent;if(null===a){if(null!==c)throw Error("The stacks must reach the root at the same time. This is a bug in React.");}else{if(null===c)throw Error("The stacks must reach the root at the same time. This is a bug in React.");Q(a,c)}b.context._currentValue=b.value}}function jc(a){a.context._currentValue=a.parentValue;a=a.parent;null!==a&&jc(a)}
15230
+ function kc(a){var b=a.parent;null!==b&&kc(b);a.context._currentValue=a.value}function lc(a,b){a.context._currentValue=a.parentValue;a=a.parent;if(null===a)throw Error("The depth must equal at least at zero before reaching the root. This is a bug in React.");a.depth===b.depth?Q(a,b):lc(a,b)}
15231
+ function mc(a,b){var c=b.parent;if(null===c)throw Error("The depth must equal at least at zero before reaching the root. This is a bug in React.");a.depth===c.depth?Q(a,c):mc(a,c);b.context._currentValue=b.value}function nc(a){var b=P;b!==a&&(null===b?kc(a):null===a?jc(b):b.depth===a.depth?Q(b,a):b.depth>a.depth?lc(b,a):mc(b,a),P=a)}
15232
+ var oc={isMounted:function(){return!1},enqueueSetState:function(a,b){a=a._reactInternals;null!==a.queue&&a.queue.push(b)},enqueueReplaceState:function(a,b){a=a._reactInternals;a.replace=!0;a.queue=[b]},enqueueForceUpdate:function(){}};
15233
+ function pc(a,b,c,d){var f=void 0!==a.state?a.state:null;a.updater=oc;a.props=c;a.state=f;var e={queue:[],replace:!1};a._reactInternals=e;var g=b.contextType;a.context="object"===typeof g&&null!==g?g._currentValue:d;g=b.getDerivedStateFromProps;"function"===typeof g&&(g=g(c,f),f=null===g||void 0===g?f:O({},f,g),a.state=f);if("function"!==typeof b.getDerivedStateFromProps&&"function"!==typeof a.getSnapshotBeforeUpdate&&("function"===typeof a.UNSAFE_componentWillMount||"function"===typeof a.componentWillMount))if(b=
15234
+ a.state,"function"===typeof a.componentWillMount&&a.componentWillMount(),"function"===typeof a.UNSAFE_componentWillMount&&a.UNSAFE_componentWillMount(),b!==a.state&&oc.enqueueReplaceState(a,a.state,null),null!==e.queue&&0<e.queue.length)if(b=e.queue,g=e.replace,e.queue=null,e.replace=!1,g&&1===b.length)a.state=b[0];else{e=g?b[0]:a.state;f=!0;for(g=g?1:0;g<b.length;g++){var h=b[g];h="function"===typeof h?h.call(a,e,c,d):h;null!=h&&(f?(f=!1,e=O({},e,h)):O(e,h))}a.state=e}else e.queue=null}
15235
+ var qc={id:1,overflow:""};function rc(a,b,c){var d=a.id;a=a.overflow;var f=32-sc(d)-1;d&=~(1<<f);c+=1;var e=32-sc(b)+f;if(30<e){var g=f-f%5;e=(d&(1<<g)-1).toString(32);d>>=g;f-=g;return{id:1<<32-sc(b)+f|c<<f|d,overflow:e+a}}return{id:1<<e|c<<f|d,overflow:a}}var sc=Math.clz32?Math.clz32:tc,uc=Math.log,vc=Math.LN2;function tc(a){a>>>=0;return 0===a?32:31-(uc(a)/vc|0)|0}function wc(a,b){return a===b&&(0!==a||1/a===1/b)||a!==a&&b!==b}
15236
+ var xc="function"===typeof Object.is?Object.is:wc,R=null,yc=null,zc=null,S=null,T=!1,Ac=!1,U=0,V=null,Bc=0;
15237
+ function W(){if(null===R)throw Error("Invalid hook call. Hooks can only be called inside of the body of a function component. This could happen for one of the following reasons:\n1. You might have mismatching versions of React and the renderer (such as React DOM)\n2. You might be breaking the Rules of Hooks\n3. You might have more than one copy of React in the same app\nSee https://reactjs.org/link/invalid-hook-call for tips about how to debug and fix this problem.");return R}
15238
+ function Cc(){if(0<Bc)throw Error("Rendered more hooks than during the previous render");return{memoizedState:null,queue:null,next:null}}function Dc(){null===S?null===zc?(T=!1,zc=S=Cc()):(T=!0,S=zc):null===S.next?(T=!1,S=S.next=Cc()):(T=!0,S=S.next);return S}function Ec(){yc=R=null;Ac=!1;zc=null;Bc=0;S=V=null}function Fc(a,b){return"function"===typeof b?b(a):b}
15239
+ function Gc(a,b,c){R=W();S=Dc();if(T){var d=S.queue;b=d.dispatch;if(null!==V&&(c=V.get(d),void 0!==c)){V.delete(d);d=S.memoizedState;do d=a(d,c.action),c=c.next;while(null!==c);S.memoizedState=d;return[d,b]}return[S.memoizedState,b]}a=a===Fc?"function"===typeof b?b():b:void 0!==c?c(b):b;S.memoizedState=a;a=S.queue={last:null,dispatch:null};a=a.dispatch=Hc.bind(null,R,a);return[S.memoizedState,a]}
15240
+ function Ic(a,b){R=W();S=Dc();b=void 0===b?null:b;if(null!==S){var c=S.memoizedState;if(null!==c&&null!==b){var d=c[1];a:if(null===d)d=!1;else{for(var f=0;f<d.length&&f<b.length;f++)if(!xc(b[f],d[f])){d=!1;break a}d=!0}if(d)return c[0]}}a=a();S.memoizedState=[a,b];return a}
15241
+ function Hc(a,b,c){if(25<=Bc)throw Error("Too many re-renders. React limits the number of renders to prevent an infinite loop.");if(a===R)if(Ac=!0,a={action:c,next:null},null===V&&(V=new Map),c=V.get(b),void 0===c)V.set(b,a);else{for(b=c;null!==b.next;)b=b.next;b.next=a}}function Jc(){throw Error("startTransition cannot be called during server rendering.");}function Kc(){}
15242
+ var Mc={readContext:function(a){return a._currentValue},useContext:function(a){W();return a._currentValue},useMemo:Ic,useReducer:Gc,useRef:function(a){R=W();S=Dc();var b=S.memoizedState;return null===b?(a={current:a},S.memoizedState=a):b},useState:function(a){return Gc(Fc,a)},useInsertionEffect:Kc,useLayoutEffect:function(){},useCallback:function(a,b){return Ic(function(){return a},b)},useImperativeHandle:Kc,useEffect:Kc,useDebugValue:Kc,useDeferredValue:function(a){W();return a},useTransition:function(){W();
15243
+ return[!1,Jc]},useId:function(){var a=yc.treeContext;var b=a.overflow;a=a.id;a=(a&~(1<<32-sc(a)-1)).toString(32)+b;var c=Lc;if(null===c)throw Error("Invalid hook call. Hooks can only be called inside of the body of a function component.");b=U++;a=":"+c.idPrefix+"R"+a;0<b&&(a+="H"+b.toString(32));return a+":"},useMutableSource:function(a,b){W();return b(a._source)},useSyncExternalStore:function(a,b,c){if(void 0===c)throw Error("Missing getServerSnapshot, which is required for server-rendered content. Will revert to client rendering.");
15244
+ return c()}},Lc=null,Nc=ba.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentDispatcher;function Oc(a){console.error(a);return null}function X(){}function Pc(a,b){var c=a.pingedTasks;c.push(b);1===c.length&&setImmediate(function(){return Qc(a)})}
15245
+ function Rc(a,b,c,d,f,e,g,h){a.allPendingTasks++;null===c?a.pendingRootTasks++:c.pendingTasks++;var m={node:b,ping:function(){return Pc(a,m)},blockedBoundary:c,blockedSegment:d,abortSet:f,legacyContext:e,context:g,treeContext:h};f.add(m);return m}function Sc(a,b,c,d,f,e){return{status:0,id:-1,index:b,parentFlushed:!1,chunks:[],children:[],formatContext:d,boundary:c,lastPushedText:f,textEmbedded:e}}
15246
+ function Y(a,b){a=a.onError(b);if(null!=a&&"string"!==typeof a)throw Error('onError returned something with a type other than "string". onError should return a string and may return null or undefined but must not return anything else. It received something of type "'+typeof a+'" instead');return a}function Tc(a,b){var c=a.onShellError;c(b);c=a.onFatalError;c(b);null!==a.destination?(a.status=2,a.destination.destroy(b)):(a.status=1,a.fatalError=b)}
15247
+ function Uc(a,b,c,d,f){R={};yc=b;U=0;for(a=c(d,f);Ac;)Ac=!1,U=0,Bc+=1,S=null,a=c(d,f);Ec();return a}function Vc(a,b,c,d){var f=c.render(),e=d.childContextTypes;if(null!==e&&void 0!==e){var g=b.legacyContext;if("function"!==typeof c.getChildContext)d=g;else{c=c.getChildContext();for(var h in c)if(!(h in e))throw Error((gc(d)||"Unknown")+'.getChildContext(): key "'+h+'" is not defined in childContextTypes.');d=O({},g,c)}b.legacyContext=d;Z(a,b,f);b.legacyContext=g}else Z(a,b,f)}
15248
+ function Wc(a,b){if(a&&a.defaultProps){b=O({},b);a=a.defaultProps;for(var c in a)void 0===b[c]&&(b[c]=a[c]);return b}return b}
15249
+ function Xc(a,b,c,d,f){if("function"===typeof c)if(c.prototype&&c.prototype.isReactComponent){f=ic(c,b.legacyContext);var e=c.contextType;e=new c(d,"object"===typeof e&&null!==e?e._currentValue:f);pc(e,c,d,f);Vc(a,b,e,c)}else{e=ic(c,b.legacyContext);f=Uc(a,b,c,d,e);var g=0!==U;if("object"===typeof f&&null!==f&&"function"===typeof f.render&&void 0===f.$$typeof)pc(f,c,d,e),Vc(a,b,f,c);else if(g){d=b.treeContext;b.treeContext=rc(d,1,0);try{Z(a,b,f)}finally{b.treeContext=d}}else Z(a,b,f)}else if("string"===
15250
+ typeof c){f=b.blockedSegment;e=Pa(f.chunks,c,d,a.responseState,f.formatContext);f.lastPushedText=!1;g=f.formatContext;f.formatContext=ya(g,c,d);Yc(a,b,e);f.formatContext=g;switch(c){case "area":case "base":case "br":case "col":case "embed":case "hr":case "img":case "input":case "keygen":case "link":case "meta":case "param":case "source":case "track":case "wbr":break;default:f.chunks.push(Qa,c,Ra)}f.lastPushedText=!1}else{switch(c){case dc:case cc:case Tb:case Ub:case Sb:Z(a,b,d.children);return;case Zb:Z(a,
15251
+ b,d.children);return;case bc:throw Error("ReactDOMServer does not yet support scope components.");case Yb:a:{c=b.blockedBoundary;f=b.blockedSegment;e=d.fallback;d=d.children;g=new Set;var h={id:null,rootSegmentID:-1,parentFlushed:!1,pendingTasks:0,forceClientRender:!1,completedSegments:[],byteSize:0,fallbackAbortableTasks:g,errorDigest:null},m=Sc(a,f.chunks.length,h,f.formatContext,!1,!1);f.children.push(m);f.lastPushedText=!1;var n=Sc(a,0,null,f.formatContext,!1,!1);n.parentFlushed=!0;b.blockedBoundary=
15252
+ h;b.blockedSegment=n;try{if(Yc(a,b,d),n.lastPushedText&&n.textEmbedded&&n.chunks.push(za),n.status=1,Zc(h,n),0===h.pendingTasks)break a}catch(p){n.status=4,h.forceClientRender=!0,h.errorDigest=Y(a,p)}finally{b.blockedBoundary=c,b.blockedSegment=f}b=Rc(a,e,c,m,g,b.legacyContext,b.context,b.treeContext);a.pingedTasks.push(b)}return}if("object"===typeof c&&null!==c)switch(c.$$typeof){case Xb:d=Uc(a,b,c.render,d,f);if(0!==U){c=b.treeContext;b.treeContext=rc(c,1,0);try{Z(a,b,d)}finally{b.treeContext=c}}else Z(a,
15253
+ b,d);return;case $b:c=c.type;d=Wc(c,d);Xc(a,b,c,d,f);return;case Vb:f=d.children;c=c._context;d=d.value;e=c._currentValue;c._currentValue=d;g=P;P=d={parent:g,depth:null===g?0:g.depth+1,context:c,parentValue:e,value:d};b.context=d;Z(a,b,f);a=P;if(null===a)throw Error("Tried to pop a Context at the root of the app. This is a bug in React.");d=a.parentValue;a.context._currentValue=d===ec?a.context._defaultValue:d;a=P=a.parent;b.context=a;return;case Wb:d=d.children;d=d(c._currentValue);Z(a,b,d);return;
15254
+ case ac:f=c._init;c=f(c._payload);d=Wc(c,d);Xc(a,b,c,d,void 0);return}throw Error("Element type is invalid: expected a string (for built-in components) or a class/function (for composite components) but got: "+((null==c?c:typeof c)+"."));}}
15255
+ function Z(a,b,c){b.node=c;if("object"===typeof c&&null!==c){switch(c.$$typeof){case Qb:Xc(a,b,c.type,c.props,c.ref);return;case Rb:throw Error("Portals are not currently supported by the server renderer. Render them conditionally so that they only appear on the client render.");case ac:var d=c._init;c=d(c._payload);Z(a,b,c);return}if(qa(c)){$c(a,b,c);return}null===c||"object"!==typeof c?d=null:(d=fc&&c[fc]||c["@@iterator"],d="function"===typeof d?d:null);if(d&&(d=d.call(c))){c=d.next();if(!c.done){var f=
15256
+ [];do f.push(c.value),c=d.next();while(!c.done);$c(a,b,f)}return}a=Object.prototype.toString.call(c);throw Error("Objects are not valid as a React child (found: "+("[object Object]"===a?"object with keys {"+Object.keys(c).join(", ")+"}":a)+"). If you meant to render a collection of children, use an array instead.");}"string"===typeof c?(d=b.blockedSegment,d.lastPushedText=Aa(b.blockedSegment.chunks,c,a.responseState,d.lastPushedText)):"number"===typeof c&&(d=b.blockedSegment,d.lastPushedText=Aa(b.blockedSegment.chunks,
15257
+ ""+c,a.responseState,d.lastPushedText))}function $c(a,b,c){for(var d=c.length,f=0;f<d;f++){var e=b.treeContext;b.treeContext=rc(e,d,f);try{Yc(a,b,c[f])}finally{b.treeContext=e}}}
15258
+ function Yc(a,b,c){var d=b.blockedSegment.formatContext,f=b.legacyContext,e=b.context;try{return Z(a,b,c)}catch(m){if(Ec(),"object"===typeof m&&null!==m&&"function"===typeof m.then){c=m;var g=b.blockedSegment,h=Sc(a,g.chunks.length,null,g.formatContext,g.lastPushedText,!0);g.children.push(h);g.lastPushedText=!1;a=Rc(a,b.node,b.blockedBoundary,h,b.abortSet,b.legacyContext,b.context,b.treeContext).ping;c.then(a,a);b.blockedSegment.formatContext=d;b.legacyContext=f;b.context=e;nc(e)}else throw b.blockedSegment.formatContext=
15259
+ d,b.legacyContext=f,b.context=e,nc(e),m;}}function ad(a){var b=a.blockedBoundary;a=a.blockedSegment;a.status=3;bd(this,b,a)}
15260
+ function cd(a,b,c){var d=a.blockedBoundary;a.blockedSegment.status=3;null===d?(b.allPendingTasks--,2!==b.status&&(b.status=2,null!==b.destination&&b.destination.end())):(d.pendingTasks--,d.forceClientRender||(d.forceClientRender=!0,d.errorDigest=b.onError(void 0===c?Error("The render was aborted by the server without a reason."):c),d.parentFlushed&&b.clientRenderedBoundaries.push(d)),d.fallbackAbortableTasks.forEach(function(a){return cd(a,b,c)}),d.fallbackAbortableTasks.clear(),b.allPendingTasks--,
15261
+ 0===b.allPendingTasks&&(a=b.onAllReady,a()))}function Zc(a,b){if(0===b.chunks.length&&1===b.children.length&&null===b.children[0].boundary){var c=b.children[0];c.id=b.id;c.parentFlushed=!0;1===c.status&&Zc(a,c)}else a.completedSegments.push(b)}
15262
+ function bd(a,b,c){if(null===b){if(c.parentFlushed){if(null!==a.completedRootSegment)throw Error("There can only be one root segment. This is a bug in React.");a.completedRootSegment=c}a.pendingRootTasks--;0===a.pendingRootTasks&&(a.onShellError=X,b=a.onShellReady,b())}else b.pendingTasks--,b.forceClientRender||(0===b.pendingTasks?(c.parentFlushed&&1===c.status&&Zc(b,c),b.parentFlushed&&a.completedBoundaries.push(b),b.fallbackAbortableTasks.forEach(ad,a),b.fallbackAbortableTasks.clear()):c.parentFlushed&&
15263
+ 1===c.status&&(Zc(b,c),1===b.completedSegments.length&&b.parentFlushed&&a.partialBoundaries.push(b)));a.allPendingTasks--;0===a.allPendingTasks&&(a=a.onAllReady,a())}
15264
+ function Qc(a){if(2!==a.status){var b=P,c=Nc.current;Nc.current=Mc;var d=Lc;Lc=a.responseState;try{var f=a.pingedTasks,e;for(e=0;e<f.length;e++){var g=f[e];var h=a,m=g.blockedSegment;if(0===m.status){nc(g.context);try{Z(h,g,g.node),m.lastPushedText&&m.textEmbedded&&m.chunks.push(za),g.abortSet.delete(g),m.status=1,bd(h,g.blockedBoundary,m)}catch(E){if(Ec(),"object"===typeof E&&null!==E&&"function"===typeof E.then){var n=g.ping;E.then(n,n)}else{g.abortSet.delete(g);m.status=4;var p=g.blockedBoundary,
15265
+ v=E,C=Y(h,v);null===p?Tc(h,v):(p.pendingTasks--,p.forceClientRender||(p.forceClientRender=!0,p.errorDigest=C,p.parentFlushed&&h.clientRenderedBoundaries.push(p)));h.allPendingTasks--;if(0===h.allPendingTasks){var D=h.onAllReady;D()}}}finally{}}}f.splice(0,e);null!==a.destination&&dd(a,a.destination)}catch(E){Y(a,E),Tc(a,E)}finally{Lc=d,Nc.current=c,c===Mc&&nc(b)}}}
15266
+ function ed(a,b,c){c.parentFlushed=!0;switch(c.status){case 0:var d=c.id=a.nextSegmentId++;c.lastPushedText=!1;c.textEmbedded=!1;a=a.responseState;r(b,Sa);r(b,a.placeholderPrefix);a=d.toString(16);r(b,a);return w(b,Ta);case 1:c.status=2;var f=!0;d=c.chunks;var e=0;c=c.children;for(var g=0;g<c.length;g++){for(f=c[g];e<f.index;e++)r(b,d[e]);f=fd(a,b,f)}for(;e<d.length-1;e++)r(b,d[e]);e<d.length&&(f=w(b,d[e]));return f;default:throw Error("Aborted, errored or already flushed boundaries should not be flushed again. This is a bug in React.");
15267
+ }}
15268
+ function fd(a,b,c){var d=c.boundary;if(null===d)return ed(a,b,c);d.parentFlushed=!0;if(d.forceClientRender)d=d.errorDigest,w(b,Xa),r(b,Za),d&&(r(b,ab),r(b,F(d)),r(b,$a)),w(b,bb),ed(a,b,c);else if(0<d.pendingTasks){d.rootSegmentID=a.nextSegmentId++;0<d.completedSegments.length&&a.partialBoundaries.push(d);var f=a.responseState;var e=f.nextSuspenseID++;f=x(f.boundaryPrefix+e.toString(16));d=d.id=f;cb(b,a.responseState,d);ed(a,b,c)}else if(d.byteSize>a.progressiveChunkSize)d.rootSegmentID=a.nextSegmentId++,a.completedBoundaries.push(d),
15269
+ cb(b,a.responseState,d.id),ed(a,b,c);else{w(b,Ua);c=d.completedSegments;if(1!==c.length)throw Error("A previously unvisited boundary must have exactly one root segment. This is a bug in React.");fd(a,b,c[0])}return w(b,Ya)}function gd(a,b,c){yb(b,a.responseState,c.formatContext,c.id);fd(a,b,c);return zb(b,c.formatContext)}
15270
+ function hd(a,b,c){for(var d=c.completedSegments,f=0;f<d.length;f++)id(a,b,c,d[f]);d.length=0;a=a.responseState;d=c.id;c=c.rootSegmentID;r(b,a.startInlineScript);a.sentCompleteBoundaryFunction?r(b,Gb):(a.sentCompleteBoundaryFunction=!0,r(b,Fb));if(null===d)throw Error("An ID must have been assigned before we can complete the boundary.");c=c.toString(16);r(b,d);r(b,Hb);r(b,a.segmentPrefix);r(b,c);return w(b,Ib)}
15271
+ function id(a,b,c,d){if(2===d.status)return!0;var f=d.id;if(-1===f){if(-1===(d.id=c.rootSegmentID))throw Error("A root segment ID must have been assigned by now. This is a bug in React.");return gd(a,b,d)}gd(a,b,d);a=a.responseState;r(b,a.startInlineScript);a.sentCompleteSegmentFunction?r(b,Bb):(a.sentCompleteSegmentFunction=!0,r(b,Ab));r(b,a.segmentPrefix);f=f.toString(16);r(b,f);r(b,Cb);r(b,a.placeholderPrefix);r(b,f);return w(b,Db)}
15272
+ function dd(a,b){k=new Uint8Array(2048);l=0;q=!0;try{var c=a.completedRootSegment;if(null!==c&&0===a.pendingRootTasks){fd(a,b,c);a.completedRootSegment=null;var d=a.responseState.bootstrapChunks;for(c=0;c<d.length-1;c++)r(b,d[c]);c<d.length&&w(b,d[c])}var f=a.clientRenderedBoundaries,e;for(e=0;e<f.length;e++){var g=f[e];d=b;var h=a.responseState,m=g.id,n=g.errorDigest,p=g.errorMessage,v=g.errorComponentStack;r(d,h.startInlineScript);h.sentClientRenderFunction?r(d,Kb):(h.sentClientRenderFunction=!0,
15273
+ r(d,Jb));if(null===m)throw Error("An ID must have been assigned before we can complete the boundary.");r(d,m);r(d,Lb);if(n||p||v)r(d,Nb),r(d,Pb(n||""));if(p||v)r(d,Nb),r(d,Pb(p||""));v&&(r(d,Nb),r(d,Pb(v)));if(!w(d,Mb)){a.destination=null;e++;f.splice(0,e);return}}f.splice(0,e);var C=a.completedBoundaries;for(e=0;e<C.length;e++)if(!hd(a,b,C[e])){a.destination=null;e++;C.splice(0,e);return}C.splice(0,e);ca(b);k=new Uint8Array(2048);l=0;q=!0;var D=a.partialBoundaries;for(e=0;e<D.length;e++){var E=D[e];
15274
+ a:{f=a;g=b;var na=E.completedSegments;for(h=0;h<na.length;h++)if(!id(f,g,E,na[h])){h++;na.splice(0,h);var Eb=!1;break a}na.splice(0,h);Eb=!0}if(!Eb){a.destination=null;e++;D.splice(0,e);return}}D.splice(0,e);var oa=a.completedBoundaries;for(e=0;e<oa.length;e++)if(!hd(a,b,oa[e])){a.destination=null;e++;oa.splice(0,e);return}oa.splice(0,e)}finally{ca(b),"function"===typeof b.flush&&b.flush(),0===a.allPendingTasks&&0===a.pingedTasks.length&&0===a.clientRenderedBoundaries.length&&0===a.completedBoundaries.length&&
15275
+ b.end()}}function jd(a){setImmediate(function(){return Qc(a)})}function kd(a,b){if(1===a.status)a.status=2,b.destroy(a.fatalError);else if(2!==a.status&&null===a.destination){a.destination=b;try{dd(a,b)}catch(c){Y(a,c),Tc(a,c)}}}function ld(a,b){try{var c=a.abortableTasks;c.forEach(function(c){return cd(c,a,b)});c.clear();null!==a.destination&&dd(a,a.destination)}catch(d){Y(a,d),Tc(a,d)}}function md(a,b){return function(){return kd(b,a)}}function nd(a,b){return function(){return ld(a,b)}}
15276
+ function od(a,b){var c=b?b.identifierPrefix:void 0,d=b?b.nonce:void 0,f=b?b.bootstrapScriptContent:void 0,e=b?b.bootstrapScripts:void 0;var g=b?b.bootstrapModules:void 0;c=void 0===c?"":c;d=void 0===d?ra:x('<script nonce="'+F(d)+'">');var h=[];void 0!==f&&h.push(d,(""+f).replace(wa,xa),sa);if(void 0!==e)for(f=0;f<e.length;f++)h.push(ta,F(e[f]),va);if(void 0!==g)for(e=0;e<g.length;e++)h.push(ua,F(g[e]),va);g={bootstrapChunks:h,startInlineScript:d,placeholderPrefix:x(c+"P:"),segmentPrefix:x(c+"S:"),
15277
+ boundaryPrefix:c+"B:",idPrefix:c,nextSuspenseID:0,sentCompleteSegmentFunction:!1,sentCompleteBoundaryFunction:!1,sentClientRenderFunction:!1};e=b?b.namespaceURI:void 0;e=G("http://www.w3.org/2000/svg"===e?2:"http://www.w3.org/1998/Math/MathML"===e?3:0,null);f=b?b.progressiveChunkSize:void 0;d=b?b.onError:void 0;h=b?b.onAllReady:void 0;var m=b?b.onShellReady:void 0,n=b?b.onShellError:void 0;b=[];c=new Set;g={destination:null,responseState:g,progressiveChunkSize:void 0===f?12800:f,status:0,fatalError:null,
15278
+ nextSegmentId:0,allPendingTasks:0,pendingRootTasks:0,completedRootSegment:null,abortableTasks:c,pingedTasks:b,clientRenderedBoundaries:[],completedBoundaries:[],partialBoundaries:[],onError:void 0===d?Oc:d,onAllReady:void 0===h?X:h,onShellReady:void 0===m?X:m,onShellError:void 0===n?X:n,onFatalError:X};e=Sc(g,0,null,e,!1,!1);e.parentFlushed=!0;a=Rc(g,a,null,e,c,hc,null,qc);b.push(a);return g}
15279
+ exports.renderToPipeableStream=function(a,b){var c=od(a,b),d=!1;jd(c);return{pipe:function(a){if(d)throw Error("React currently only supports piping to one writable stream.");d=!0;kd(c,a);a.on("drain",md(a,c));a.on("error",nd(c,Error("The destination stream errored while writing data.")));a.on("close",nd(c,Error("The destination stream closed early.")));return a},abort:function(a){ld(c,a)}}};exports.version="18.2.0";
15280
+
15281
+
15282
+ /***/ }),
15283
+
15284
+ /***/ 4362:
15285
+ /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
15286
+
15287
+ "use strict";
15288
+ var __webpack_unused_export__;
15289
+
15290
+
15291
+ var l, s;
15292
+ if (true) {
15293
+ l = __webpack_require__(6711);
15294
+ s = __webpack_require__(6513);
15295
+ } else {}
15296
+
15297
+ __webpack_unused_export__ = l.version;
15298
+ __webpack_unused_export__ = l.renderToString;
15299
+ exports.qV = l.renderToStaticMarkup;
15300
+ __webpack_unused_export__ = l.renderToNodeStream;
15301
+ __webpack_unused_export__ = l.renderToStaticNodeStream;
15302
+ __webpack_unused_export__ = s.renderToPipeableStream;
15303
+
15304
+
15063
15305
  /***/ }),
15064
15306
 
15065
15307
  /***/ 3753:
@@ -18739,6 +18981,14 @@ module.exports = require("path");
18739
18981
 
18740
18982
  /***/ }),
18741
18983
 
18984
+ /***/ 2203:
18985
+ /***/ ((module) => {
18986
+
18987
+ "use strict";
18988
+ module.exports = require("stream");
18989
+
18990
+ /***/ }),
18991
+
18742
18992
  /***/ 7016:
18743
18993
  /***/ ((module) => {
18744
18994
 
@@ -18747,6 +18997,14 @@ module.exports = require("url");
18747
18997
 
18748
18998
  /***/ }),
18749
18999
 
19000
+ /***/ 9023:
19001
+ /***/ ((module) => {
19002
+
19003
+ "use strict";
19004
+ module.exports = require("util");
19005
+
19006
+ /***/ }),
19007
+
18750
19008
  /***/ 5042:
18751
19009
  /***/ ((module) => {
18752
19010
 
@@ -19474,9 +19732,13 @@ const Columns = ({ children, layout = 'auto' }) => {
19474
19732
  /* eslint-disable react/jsx-props-no-spreading */
19475
19733
 
19476
19734
  const Favicon = ({ src, alt = 'favicon', ...attr }) => (external_react_default().createElement("img", { ...attr, alt: alt, height: "14", src: src, width: "14" }));
19477
- const Embed = ({ lazy = true, url, html, providerName, providerUrl, title, iframe, image, favicon, ...attrs }) => {
19735
+ const IFRAME_DERIVABLE_TYPES = new Set(['youtube', 'jsfiddle', 'pdf']);
19736
+ // HTML width/height attrs accept bare numbers (interpreted as px), but CSS does not, convert.
19737
+ const toCssSize = (v, fallback) => (v ? (/^\d+$/.test(v) ? `${v}px` : v) : fallback);
19738
+ const Embed = ({ lazy = true, url, html, providerName, providerUrl, title, iframe, image, favicon, typeOfEmbed, ...attrs }) => {
19739
+ const explicitOptOut = iframe === false || iframe === 'false';
19478
19740
  if (typeof iframe !== 'boolean')
19479
- iframe = iframe === 'true';
19741
+ iframe = iframe === 'true' || typeOfEmbed === 'iframe';
19480
19742
  if (html) {
19481
19743
  try {
19482
19744
  if (html !== decodeURIComponent(html)) {
@@ -19491,8 +19753,18 @@ const Embed = ({ lazy = true, url, html, providerName, providerUrl, title, ifram
19491
19753
  html = undefined;
19492
19754
  }
19493
19755
  }
19494
- if (iframe) {
19495
- return external_react_default().createElement("iframe", { ...attrs, src: url, style: { border: 'none', display: 'flex', margin: 'auto' }, title: title });
19756
+ const { height, width, ...spreadAttrs } = attrs;
19757
+ const iframeStyle = {
19758
+ border: 'none',
19759
+ display: 'flex',
19760
+ margin: 'auto',
19761
+ width: toCssSize(width, '100%'),
19762
+ height: toCssSize(height, '480px'),
19763
+ };
19764
+ // Fall back to a direct iframe for URL-derivable embed types when html is missing.
19765
+ const renderTypeAsIframe = !html && !explicitOptOut && url && typeOfEmbed && IFRAME_DERIVABLE_TYPES.has(typeOfEmbed);
19766
+ if (iframe || renderTypeAsIframe) {
19767
+ return external_react_default().createElement("iframe", { ...spreadAttrs, src: url, style: iframeStyle, title: title });
19496
19768
  }
19497
19769
  if (!providerUrl && url)
19498
19770
  providerUrl = new URL(url).hostname
@@ -24562,9 +24834,10 @@ const LightboxPortal = ({ children }) => {
24562
24834
  return (0,external_react_dom_namespaceObject.createPortal)(children, document.body);
24563
24835
  };
24564
24836
  const Image = (Props) => {
24565
- const { align = '', alt = '', border: borderProp = false, caption, className = '', height = 'auto', src, title = '', width = 'auto', lazy = true, children, } = Props;
24566
- // Normalize border: MDXish passes {false} as the string "false", not a boolean
24837
+ const { align = '', alt = '', border: borderProp = false, caption, className = '', framed: framedProp = false, height = 'auto', src, title = '', width = 'auto', lazy = true, children, } = Props;
24838
+ // Normalize border/framed: MDXish passes {false} as the string "false", not a boolean
24567
24839
  const border = borderProp === true || borderProp === 'true';
24840
+ const framed = framedProp === true || framedProp === 'true';
24568
24841
  const [lightbox, setLightbox] = external_react_.useState(false);
24569
24842
  if (className === 'emoji') {
24570
24843
  return external_react_.createElement("img", { alt: alt, height: height, loading: lazy ? 'lazy' : 'eager', src: src, title: title, width: width });
@@ -24593,7 +24866,10 @@ const Image = (Props) => {
24593
24866
  return;
24594
24867
  setLightbox(!lightbox);
24595
24868
  };
24596
- const imgElement = (external_react_.createElement("img", { alt: alt, className: `img ${caption || children ? 'img-align-center' : align ? `img-align-${align}` : ''} ${border ? 'border' : ''}`, height: height, loading: lazy ? 'lazy' : 'eager', src: src, title: title, width: width }));
24869
+ // Framed images center the <img> itself; outer wrapper handles left/right alignment via text-align.
24870
+ const imgElement = (external_react_.createElement("img", { alt: alt, className: `img ${caption || children || framed ? 'img-align-center' : align ? `img-align-${align}` : ''} ${border ? 'border' : ''}`, height: height, loading: lazy ? 'lazy' : 'eager', src: src, title: title, width: width }));
24871
+ const closedLightbox = (ariaLabel, content) => (external_react_.createElement("span", { "aria-label": ariaLabel, className: "img lightbox closed", onClick: toggle, onKeyDown: handleKeyDown, role: 'button', tabIndex: 0 },
24872
+ external_react_.createElement("span", { className: "lightbox-inner" }, content)));
24597
24873
  const lightboxOverlay = lightbox ? (external_react_.createElement(LightboxPortal, null,
24598
24874
  external_react_.createElement("div", { className: "markdown-body" },
24599
24875
  external_react_.createElement("span", { "aria-label": alt || 'Collapse image', className: "img lightbox open", onClick: toggle, onKeyDown: handleKeyDown, role: 'button', tabIndex: 0 },
@@ -24602,17 +24878,27 @@ const Image = (Props) => {
24602
24878
  (children || caption) && external_react_.createElement("figcaption", null, children || caption))),
24603
24879
  external_react_.createElement("button", { "aria-label": "Minimize image", className: "lightbox-close", onClick: toggle, type: "button" },
24604
24880
  external_react_.createElement("i", { "aria-hidden": "true", className: "fa-solid fa-xmark" }))))) : null;
24881
+ if (framed) {
24882
+ const frameClass = `img-frame img-frame-${align || 'center'}`;
24883
+ if (children || caption) {
24884
+ return (external_react_.createElement("figure", { className: frameClass },
24885
+ closedLightbox(alt || 'Expand image', imgElement),
24886
+ lightboxOverlay,
24887
+ external_react_.createElement("figcaption", null, children || caption)));
24888
+ }
24889
+ return (external_react_.createElement("div", { className: frameClass },
24890
+ closedLightbox(alt || 'Expand image', imgElement),
24891
+ lightboxOverlay));
24892
+ }
24605
24893
  if (children || caption) {
24606
24894
  return (external_react_.createElement("figure", null,
24607
- external_react_.createElement("span", { "aria-label": alt, className: "img lightbox closed", onClick: toggle, onKeyDown: handleKeyDown, role: 'button', tabIndex: 0 },
24608
- external_react_.createElement("span", { className: "lightbox-inner" },
24609
- imgElement,
24610
- external_react_.createElement("figcaption", null, children || caption))),
24895
+ closedLightbox(alt || 'Expand image', external_react_.createElement(external_react_.Fragment, null,
24896
+ imgElement,
24897
+ external_react_.createElement("figcaption", null, children || caption))),
24611
24898
  lightboxOverlay));
24612
24899
  }
24613
24900
  return (external_react_.createElement(external_react_.Fragment, null,
24614
- external_react_.createElement("span", { "aria-label": "Expand image", className: "img lightbox closed", onClick: toggle, onKeyDown: handleKeyDown, role: 'button', tabIndex: 0 },
24615
- external_react_.createElement("span", { className: "lightbox-inner" }, imgElement)),
24901
+ closedLightbox('Expand image', imgElement),
24616
24902
  lightboxOverlay));
24617
24903
  };
24618
24904
  /* harmony default export */ const components_Image = (Image);
@@ -24850,12 +25136,14 @@ const Tab = ({ children }) => {
24850
25136
  };
24851
25137
  const Tabs = ({ children }) => {
24852
25138
  const [activeTab, setActiveTab] = (0,external_react_.useState)(0);
25139
+ // React passes `children` as a single element when there's only one child, so normalize.
25140
+ const tabs = external_react_default().Children.toArray(children);
24853
25141
  return (external_react_default().createElement("div", { className: "TabGroup" },
24854
25142
  external_react_default().createElement("header", null,
24855
- external_react_default().createElement("nav", { className: "TabGroup-nav" }, children?.map((tab, index) => (external_react_default().createElement("button", { key: tab.props.title, className: `TabGroup-tab${activeTab === index ? '_active' : ''}`, onClick: () => setActiveTab(index) },
25143
+ external_react_default().createElement("nav", { className: "TabGroup-nav" }, tabs.map((tab, index) => (external_react_default().createElement("button", { key: tab.props.title, className: `TabGroup-tab${activeTab === index ? '_active' : ''}`, onClick: () => setActiveTab(index) },
24856
25144
  tab.props.icon && (external_react_default().createElement("i", { className: `TabGroup-icon fa-duotone fa-solid ${tab.props.icon}`, style: { color: `${tab.props.iconColor}` } })),
24857
25145
  tab.props.title))))),
24858
- external_react_default().createElement("section", null, children && children[activeTab])));
25146
+ external_react_default().createElement("section", null, tabs[activeTab])));
24859
25147
  };
24860
25148
  /* harmony default export */ const components_Tabs = (Tabs);
24861
25149
 
@@ -25105,17 +25393,32 @@ const TailwindStyle = ({ children, darkModeDataAttribute }) => {
25105
25393
  records.forEach(record => {
25106
25394
  if (record.type === 'childList') {
25107
25395
  record.addedNodes.forEach(node => {
25108
- if (!(node instanceof HTMLElement) || !node.classList.contains(tailwindPrefix))
25396
+ if (!(node instanceof HTMLElement))
25109
25397
  return;
25110
- traverse(node, addClasses);
25111
- shouldUpdate = true;
25398
+ const sizeBefore = classesSet.current.size;
25399
+ if (node.classList.contains(tailwindPrefix)) {
25400
+ // traverse visits all descendants recursively, no need to querySelectorAll
25401
+ traverse(node, addClasses);
25402
+ }
25403
+ else {
25404
+ // Node isn't a TailwindRoot itself — check descendants.
25405
+ // React may insert a parent wrapper during navigation whose
25406
+ // children contain TailwindRoot elements.
25407
+ node.querySelectorAll(`.${tailwindPrefix}`).forEach(child => {
25408
+ traverse(child, addClasses);
25409
+ });
25410
+ }
25411
+ if (classesSet.current.size > sizeBefore)
25412
+ shouldUpdate = true;
25112
25413
  });
25113
25414
  }
25114
25415
  else if (record.type === 'attributes') {
25115
25416
  if (record.attributeName !== 'class' || !(record.target instanceof HTMLElement))
25116
25417
  return;
25418
+ const sizeBefore = classesSet.current.size;
25117
25419
  addClasses(record.target);
25118
- shouldUpdate = true;
25420
+ if (classesSet.current.size > sizeBefore)
25421
+ shouldUpdate = true;
25119
25422
  }
25120
25423
  });
25121
25424
  if (shouldUpdate) {
@@ -74260,11 +74563,20 @@ const mdast = (text, opts = {}) => {
74260
74563
 
74261
74564
 
74262
74565
 
74566
+
74567
+
74568
+ /**
74569
+ * Single instance of acorn parser extended with `acorn-jsx`
74570
+ * to parse expressions containing JSX.
74571
+ */
74572
+ const jsxAcornParser = Parser.extend(acorn_jsx_default()());
74263
74573
  /**
74264
74574
  * Evaluate a JavaScript expression source and return its value.
74265
74575
  *
74266
74576
  * Wrapping in parens lets object literals (`{color: 'red'}`) parse as
74267
- * expressions. Runs with no scope, so only self-contained literals resolve.
74577
+ * expressions. Pass `scope` to expose named bindings (e.g. values introduced
74578
+ * by an `export const`) to the expression; without it, only self-contained
74579
+ * literals resolve.
74268
74580
  *
74269
74581
  * > ☢️ **Danger**: this `eval`s JavaScript. Only call when safeMode is off —
74270
74582
  * > safeMode's contract is that expression syntax is never evaluated, and the
@@ -74273,9 +74585,11 @@ const mdast = (text, opts = {}) => {
74273
74585
  *
74274
74586
  * Throws on parse/runtime error; callers decide the fallback.
74275
74587
  */
74276
- function evaluate(source) {
74588
+ function evaluate(source, scope = {}) {
74589
+ const names = Object.keys(scope);
74590
+ const values = names.map(name => scope[name]);
74277
74591
  // eslint-disable-next-line no-new-func
74278
- return new Function(`return (${source})`)();
74592
+ return new Function(...names, `return (${source})`)(...values);
74279
74593
  }
74280
74594
  /**
74281
74595
  * Formats the hProperties of a node as a string, so they can be compiled back into JSX/MDX.
@@ -95508,13 +95822,14 @@ const applyInserts = (html, inserts) => {
95508
95822
  const sorted = [...inserts].sort((a, b) => a.offset - b.offset);
95509
95823
  let out = '';
95510
95824
  let cursor = 0;
95511
- sorted.forEach(({ offset, text }) => {
95825
+ sorted.forEach(({ offset, text, consumes = 0 }) => {
95512
95826
  const clamped = Math.min(Math.max(offset, cursor), html.length);
95513
95827
  if (clamped > cursor) {
95514
95828
  out += html.slice(cursor, clamped);
95515
95829
  cursor = clamped;
95516
95830
  }
95517
95831
  out += text;
95832
+ cursor = Math.min(cursor + consumes, html.length);
95518
95833
  });
95519
95834
  return { value: out + html.slice(cursor), inserts: sorted };
95520
95835
  };
@@ -95626,9 +95941,10 @@ const buildOffsetMapper = (inserts) => {
95626
95941
  // Pre-compute each insert's start in repaired-space.
95627
95942
  let acc = 0;
95628
95943
  const segments = inserts.map(ins => {
95944
+ const consumes = ins.consumes ?? 0;
95629
95945
  const repairedStart = ins.offset + acc;
95630
- acc += ins.text.length;
95631
- return { origOffset: ins.offset, len: ins.text.length, repairedStart };
95946
+ acc += ins.text.length - consumes;
95947
+ return { origOffset: ins.offset, consumes, len: ins.text.length, repairedStart };
95632
95948
  });
95633
95949
  return (repaired) => {
95634
95950
  // Offsets inside an insert's synthetic span have no original counterpart;
@@ -95636,7 +95952,7 @@ const buildOffsetMapper = (inserts) => {
95636
95952
  const hit = segments.find(seg => seg.repairedStart < repaired && repaired < seg.repairedStart + seg.len);
95637
95953
  if (hit)
95638
95954
  return hit.origOffset;
95639
- const shift = segments.reduce((acc2, seg) => (seg.repairedStart < repaired ? acc2 + seg.len : acc2), 0);
95955
+ const shift = segments.reduce((acc2, seg) => (seg.repairedStart < repaired ? acc2 + seg.len - seg.consumes : acc2), 0);
95640
95956
  return repaired - shift;
95641
95957
  };
95642
95958
  };
@@ -95815,6 +96131,43 @@ const HTML_VOID_ELEMENTS = new Set([
95815
96131
 
95816
96132
 
95817
96133
  const isStandardHtmlTag = (name) => STANDARD_HTML_TAGS.has(name.toLowerCase());
96134
+ // Intentionally simpler than htmlparser2: `[^>]*` does not honor `>` inside
96135
+ // quoted attribute values. That's acceptable here because the main walker
96136
+ // (htmlparser2) handles attribute parsing; this scan only needs to locate
96137
+ // orphan closers, which can't appear inside an attribute value anyway.
96138
+ const HTML_TAG_TOKEN_RE = /<(\/)?([a-zA-Z][a-zA-Z0-9-]*)\b[^>]*>/g;
96139
+ /**
96140
+ * htmlparser2 silently drops closing tags that have no matching opener
96141
+ * (e.g. the trailing `</li>` in `<ul><li>x</ul></li>`), leaving them in the
96142
+ * source makes mdxjs choke on the dangling closer. Scan the masked
96143
+ * source for `</name>` tokens that don't pair with any prior unmatched
96144
+ * `<name>` and return their spans so the caller can drop them.
96145
+ */
96146
+ const findOrphanClosers = (html) => {
96147
+ const masked = maskNonTagRegions(html);
96148
+ const stack = [];
96149
+ const orphans = [];
96150
+ HTML_TAG_TOKEN_RE.lastIndex = 0;
96151
+ let match;
96152
+ while ((match = HTML_TAG_TOKEN_RE.exec(masked)) !== null) {
96153
+ const name = match[2].toLowerCase();
96154
+ // Non-HTML names and void elements are handled by the main walker.
96155
+ // eslint-disable-next-line no-continue
96156
+ if (!isStandardHtmlTag(name) || HTML_VOID_ELEMENTS.has(name))
96157
+ continue;
96158
+ if (match[1] === '/') {
96159
+ const idx = stack.lastIndexOf(name);
96160
+ if (idx === -1)
96161
+ orphans.push({ offset: match.index, length: match[0].length });
96162
+ else
96163
+ stack.length = idx;
96164
+ }
96165
+ else if (!match[0].endsWith('/>')) {
96166
+ stack.push(name);
96167
+ }
96168
+ }
96169
+ return orphans;
96170
+ };
95818
96171
  /**
95819
96172
  * MDX requires a JSX inline tag and its closer to live on the same line — not
95820
96173
  * just the same paragraph. (`<td>\nArray <object>\n</object></td>` still
@@ -95871,6 +96224,7 @@ const repairUnclosedTags = (html) => {
95871
96224
  inserts.push({ offset: findOffsetToPlaceCloser(html, openTag.end, start), text: `</${name}>` });
95872
96225
  },
95873
96226
  });
96227
+ findOrphanClosers(html).forEach(({ offset, length }) => inserts.push({ offset, text: '', consumes: length }));
95874
96228
  return applyInserts(html, inserts);
95875
96229
  };
95876
96230
 
@@ -118300,6 +118654,12 @@ function parseTextChildren(node, processMarkdown, components) {
118300
118654
  node.children = node.children.flatMap(child => {
118301
118655
  if (child.type !== 'text' || !child.value.trim())
118302
118656
  return [child];
118657
+ // Store multiline template-literal children (e.g. {`...\n...`}) as a bare string prop
118658
+ // via node.properties.children so hast-to-hyperscript doesn't wrap them in an array.
118659
+ if (child.value.includes('\n')) {
118660
+ node.properties = { ...node.properties, children: child.value };
118661
+ return [];
118662
+ }
118303
118663
  const hast = processMarkdown(child.value.trim());
118304
118664
  const children = (hast.children ?? []).filter(isElementContentNode);
118305
118665
  // For inline components, preserve plain text instead of wrapping in <p>
@@ -118361,6 +118721,10 @@ function normalizeProperties(node) {
118361
118721
  */
118362
118722
  const rehypeMdxishComponents = ({ components, processMarkdown }) => {
118363
118723
  return (tree, vfile) => {
118724
+ // Merge any local bindings introduced by `export const/function` declarations
118725
+ // (collected by the evaluate-exports transformer) into the lookup map.
118726
+ const localScope = vfile.data.mdxishScope ?? {};
118727
+ const allComponents = { ...components, ...localScope };
118364
118728
  const nodesToRemove = [];
118365
118729
  visit(tree, 'element', (node, index, parent) => {
118366
118730
  if (index === undefined || !parent)
@@ -118384,14 +118748,14 @@ const rehypeMdxishComponents = ({ components, processMarkdown }) => {
118384
118748
  if (isActualHtmlTag(node.tagName, original))
118385
118749
  return;
118386
118750
  }
118387
- const componentName = getComponentName(node.tagName, components);
118751
+ const componentName = getComponentName(node.tagName, allComponents);
118388
118752
  if (!componentName) {
118389
118753
  nodesToRemove.push({ index, parent });
118390
118754
  return;
118391
118755
  }
118392
118756
  node.tagName = componentName;
118393
118757
  normalizeProperties(node);
118394
- parseTextChildren(node, processMarkdown, components);
118758
+ parseTextChildren(node, processMarkdown, allComponents);
118395
118759
  });
118396
118760
  // Remove unknown components in reverse order to preserve indices
118397
118761
  for (let i = nodesToRemove.length - 1; i >= 0; i -= 1) {
@@ -120447,6 +120811,123 @@ function createTokenize(mode) {
120447
120811
  const isSameCaseAsTag = (code) => isLowercaseTag
120448
120812
  ? code >= codes.lowercaseA && code <= codes.lowercaseZ
120449
120813
  : code >= codes.uppercaseA && code <= codes.uppercaseZ;
120814
+ // Shared brace-expression state machine. The two call sites differ only in where
120815
+ // to continue after a line ending and where to return when braceDepth reaches zero.
120816
+ function createBraceExprStates(continuationStart, afterBraceClose) {
120817
+ function braceExpr(code) {
120818
+ if (code === null)
120819
+ return nok(code);
120820
+ if (markdownLineEnding(code)) {
120821
+ if (!isFlow)
120822
+ return nok(code);
120823
+ effects.exit('mdxComponentData');
120824
+ return continuationStart(code);
120825
+ }
120826
+ if (code === codes.quotationMark || code === codes.apostrophe) {
120827
+ quoteChar = code;
120828
+ effects.consume(code);
120829
+ return braceString;
120830
+ }
120831
+ if (code === codes.graveAccent) {
120832
+ inTemplateLit = true;
120833
+ effects.consume(code);
120834
+ return braceTemplateLiteral;
120835
+ }
120836
+ if (code === codes.leftCurlyBrace) {
120837
+ braceDepth += 1;
120838
+ effects.consume(code);
120839
+ return braceExpr;
120840
+ }
120841
+ if (code === codes.rightCurlyBrace) {
120842
+ braceDepth -= 1;
120843
+ effects.consume(code);
120844
+ if (templateStack.length > 0 && braceDepth === templateStack[templateStack.length - 1]) {
120845
+ templateStack.pop();
120846
+ inTemplateLit = true;
120847
+ return braceTemplateLiteral;
120848
+ }
120849
+ if (braceDepth === 0) {
120850
+ return afterBraceClose;
120851
+ }
120852
+ return braceExpr;
120853
+ }
120854
+ effects.consume(code);
120855
+ return braceExpr;
120856
+ }
120857
+ function braceString(code) {
120858
+ if (code === null)
120859
+ return nok(code);
120860
+ if (markdownLineEnding(code)) {
120861
+ if (!isFlow)
120862
+ return nok(code);
120863
+ effects.exit('mdxComponentData');
120864
+ return continuationStart(code);
120865
+ }
120866
+ if (code === codes.backslash) {
120867
+ effects.consume(code);
120868
+ return braceStringEscape;
120869
+ }
120870
+ if (code === quoteChar) {
120871
+ effects.consume(code);
120872
+ quoteChar = null;
120873
+ return braceExpr;
120874
+ }
120875
+ effects.consume(code);
120876
+ return braceString;
120877
+ }
120878
+ function braceStringEscape(code) {
120879
+ if (code === null || markdownLineEnding(code)) {
120880
+ return braceString(code);
120881
+ }
120882
+ effects.consume(code);
120883
+ return braceString;
120884
+ }
120885
+ function braceTemplateLiteral(code) {
120886
+ if (code === null)
120887
+ return nok(code);
120888
+ if (markdownLineEnding(code)) {
120889
+ if (!isFlow)
120890
+ return nok(code);
120891
+ effects.exit('mdxComponentData');
120892
+ return continuationStart(code);
120893
+ }
120894
+ if (code === codes.graveAccent) {
120895
+ inTemplateLit = false;
120896
+ effects.consume(code);
120897
+ return braceExpr;
120898
+ }
120899
+ if (code === codes.backslash) {
120900
+ effects.consume(code);
120901
+ return braceTemplateLiteralEscape;
120902
+ }
120903
+ if (code === codes.dollarSign) {
120904
+ effects.consume(code);
120905
+ return braceTemplateLiteralDollar;
120906
+ }
120907
+ effects.consume(code);
120908
+ return braceTemplateLiteral;
120909
+ }
120910
+ function braceTemplateLiteralEscape(code) {
120911
+ if (code === null || markdownLineEnding(code)) {
120912
+ return braceTemplateLiteral(code);
120913
+ }
120914
+ effects.consume(code);
120915
+ return braceTemplateLiteral;
120916
+ }
120917
+ function braceTemplateLiteralDollar(code) {
120918
+ if (code === codes.leftCurlyBrace) {
120919
+ templateStack.push(braceDepth);
120920
+ braceDepth += 1;
120921
+ inTemplateLit = false;
120922
+ effects.consume(code);
120923
+ return braceExpr;
120924
+ }
120925
+ return braceTemplateLiteral(code);
120926
+ }
120927
+ return { braceExpr, braceString, braceTemplateLiteral };
120928
+ }
120929
+ const { braceExpr: inBraceExpr, braceString: inBraceString, braceTemplateLiteral: inBraceTemplateLiteral, } = createBraceExprStates(openTagContinuationStart, afterOpenTagName);
120930
+ const { braceExpr: inBodyBraceExpr, braceString: inBodyBraceString, braceTemplateLiteral: inBodyBraceTemplateLiteral, } = createBraceExprStates(bodyContinuationStart, body);
120450
120931
  return start;
120451
120932
  // ── Start ──────────────────────────────────────────────────────────────
120452
120933
  function start(code) {
@@ -120569,126 +121050,6 @@ function createTokenize(mode) {
120569
121050
  effects.consume(code);
120570
121051
  return inQuotedAttr;
120571
121052
  }
120572
- function inBraceExpr(code) {
120573
- if (code === null)
120574
- return nok(code);
120575
- if (markdownLineEnding(code)) {
120576
- if (!isFlow)
120577
- return nok(code);
120578
- effects.exit('mdxComponentData');
120579
- return openTagContinuationStart(code);
120580
- }
120581
- // Handle strings inside braces
120582
- if (code === codes.quotationMark || code === codes.apostrophe) {
120583
- quoteChar = code;
120584
- effects.consume(code);
120585
- return inBraceString;
120586
- }
120587
- // Handle template literals inside braces
120588
- if (code === codes.graveAccent) {
120589
- inTemplateLit = true;
120590
- effects.consume(code);
120591
- return inBraceTemplateLiteral;
120592
- }
120593
- if (code === codes.leftCurlyBrace) {
120594
- braceDepth += 1;
120595
- effects.consume(code);
120596
- return inBraceExpr;
120597
- }
120598
- if (code === codes.rightCurlyBrace) {
120599
- braceDepth -= 1;
120600
- effects.consume(code);
120601
- // Check if this } closes a ${...} interpolation
120602
- if (templateStack.length > 0 && braceDepth === templateStack[templateStack.length - 1]) {
120603
- templateStack.pop();
120604
- inTemplateLit = true; // back inside the template literal
120605
- return inBraceTemplateLiteral;
120606
- }
120607
- if (braceDepth === 0) {
120608
- return afterOpenTagName;
120609
- }
120610
- return inBraceExpr;
120611
- }
120612
- effects.consume(code);
120613
- return inBraceExpr;
120614
- }
120615
- function inBraceString(code) {
120616
- if (code === null)
120617
- return nok(code);
120618
- if (markdownLineEnding(code)) {
120619
- if (!isFlow)
120620
- return nok(code);
120621
- effects.exit('mdxComponentData');
120622
- return openTagContinuationStart(code);
120623
- }
120624
- if (code === codes.backslash) {
120625
- effects.consume(code);
120626
- return inBraceStringEscape;
120627
- }
120628
- if (code === quoteChar) {
120629
- effects.consume(code);
120630
- quoteChar = null;
120631
- return inBraceExpr;
120632
- }
120633
- effects.consume(code);
120634
- return inBraceString;
120635
- }
120636
- function inBraceStringEscape(code) {
120637
- if (code === null || markdownLineEnding(code)) {
120638
- return inBraceString(code);
120639
- }
120640
- effects.consume(code);
120641
- return inBraceString;
120642
- }
120643
- // ── Template literal handling inside brace expressions ─────────────────
120644
- function inBraceTemplateLiteral(code) {
120645
- if (code === null)
120646
- return nok(code);
120647
- if (markdownLineEnding(code)) {
120648
- if (!isFlow)
120649
- return nok(code);
120650
- effects.exit('mdxComponentData');
120651
- return openTagContinuationStart(code);
120652
- }
120653
- // Closing backtick ends the template literal
120654
- if (code === codes.graveAccent) {
120655
- inTemplateLit = false;
120656
- effects.consume(code);
120657
- return inBraceExpr;
120658
- }
120659
- // Backslash escape (e.g., \` or \$)
120660
- if (code === codes.backslash) {
120661
- effects.consume(code);
120662
- return inBraceTemplateLiteralEscape;
120663
- }
120664
- // ${ starts an interpolation
120665
- if (code === codes.dollarSign) {
120666
- effects.consume(code);
120667
- return inBraceTemplateLiteralDollar;
120668
- }
120669
- effects.consume(code);
120670
- return inBraceTemplateLiteral;
120671
- }
120672
- function inBraceTemplateLiteralEscape(code) {
120673
- if (code === null || markdownLineEnding(code)) {
120674
- return inBraceTemplateLiteral(code);
120675
- }
120676
- effects.consume(code);
120677
- return inBraceTemplateLiteral;
120678
- }
120679
- function inBraceTemplateLiteralDollar(code) {
120680
- if (code === codes.leftCurlyBrace) {
120681
- // Enter ${...} interpolation. Save current braceDepth so we know
120682
- // when the matching } returns us to this template literal.
120683
- templateStack.push(braceDepth);
120684
- braceDepth += 1;
120685
- inTemplateLit = false; // now inside interpolation expression
120686
- effects.consume(code);
120687
- return inBraceExpr;
120688
- }
120689
- // Just a $ not followed by { — back to template literal
120690
- return inBraceTemplateLiteral(code);
120691
- }
120692
121053
  function selfCloseGt(code) {
120693
121054
  if (code === codes.greaterThan) {
120694
121055
  effects.consume(code);
@@ -120758,6 +121119,15 @@ function createTokenize(mode) {
120758
121119
  codeSpanOpenSize = 0;
120759
121120
  return countOpenTicks(code);
120760
121121
  }
121122
+ // JSX expression child — track braces/template literals so the closing
121123
+ // backtick of `{`...`}` is not misread as a code span opener
121124
+ if (code === codes.leftCurlyBrace) {
121125
+ braceDepth = 1;
121126
+ inTemplateLit = false;
121127
+ effects.consume(code);
121128
+ atLineStart = false;
121129
+ return inBodyBraceExpr;
121130
+ }
120761
121131
  effects.consume(code);
120762
121132
  atLineStart = false;
120763
121133
  return body;
@@ -120998,6 +121368,14 @@ function createTokenize(mode) {
120998
121368
  return bodyContinuationStart(code);
120999
121369
  }
121000
121370
  effects.enter('mdxComponentData');
121371
+ // Resume inside a body brace expression if a line ending interrupted one
121372
+ if (braceDepth > 0) {
121373
+ if (inTemplateLit)
121374
+ return inBodyBraceTemplateLiteral(code);
121375
+ if (quoteChar !== null)
121376
+ return inBodyBraceString(code);
121377
+ return inBodyBraceExpr(code);
121378
+ }
121001
121379
  // Detect tilde fences at line start
121002
121380
  if (atLineStart && code === codes.tilde) {
121003
121381
  return bodyAfterLineStart(code);
@@ -121100,7 +121478,8 @@ const buildInlineMdProcessor = (safeMode) => {
121100
121478
  // Since evaluating expressions can be dangerous, do so only when safeMode is off
121101
121479
  if (!safeMode) {
121102
121480
  const mdxExprExt = mdxExpression({ allowEmpty: true });
121103
- micromarkExts.push({ text: mdxExprExt.text });
121481
+ // We include both flow and text extensions to support both single-line and multi-line expressions
121482
+ micromarkExts.push({ flow: mdxExprExt.flow, text: mdxExprExt.text });
121104
121483
  fromMarkdownExts.push(mdxExpressionFromMarkdown());
121105
121484
  }
121106
121485
  return unified()
@@ -121613,57 +121992,180 @@ function restoreSnakeCase(placeholderName, mapping) {
121613
121992
  return matchingKey ? mapping[matchingKey] : placeholderName;
121614
121993
  }
121615
121994
 
121995
+ ;// ./processor/transform/mdxish/evaluate-exports.ts
121996
+
121997
+
121998
+
121999
+
122000
+
122001
+ /**
122002
+ * Recursively extract all identifier names introduced by a binding pattern.
122003
+ * Handles destructuring (`{ a, b }`, `[x, y]`), rest elements (`...rest`),
122004
+ * and default values (`{ a = 1 }`).
122005
+ */
122006
+ const namesFromPattern = (pattern) => {
122007
+ if (pattern.type === 'Identifier')
122008
+ return [pattern.name];
122009
+ if (pattern.type === 'ObjectPattern') {
122010
+ return pattern.properties.flatMap(prop => prop.type === 'RestElement' ? namesFromPattern(prop.argument) : namesFromPattern(prop.value));
122011
+ }
122012
+ if (pattern.type === 'ArrayPattern') {
122013
+ return pattern.elements.flatMap(el => (el ? namesFromPattern(el) : []));
122014
+ }
122015
+ if (pattern.type === 'RestElement')
122016
+ return namesFromPattern(pattern.argument);
122017
+ if (pattern.type === 'AssignmentPattern')
122018
+ return namesFromPattern(pattern.left);
122019
+ return [];
122020
+ };
122021
+ /**
122022
+ * Collect names introduced by an `export const/function/class` declaration.
122023
+ */
122024
+ const collectExportNames = (declaration) => {
122025
+ if (declaration.type === 'VariableDeclaration') {
122026
+ return declaration.declarations.flatMap(dec => namesFromPattern(dec.id));
122027
+ }
122028
+ if ('id' in declaration && declaration.id?.type === 'Identifier') {
122029
+ return [declaration.id.name];
122030
+ }
122031
+ return [];
122032
+ };
122033
+ /**
122034
+ * Evaluate `export const/function` declarations introduced by mdxjsEsm nodes.
122035
+ *
122036
+ * Walks each mdxjsEsm node's estree to gather all export declarations while
122037
+ * stripping the `export` statements. All declarations are then evaluated in a
122038
+ * single sandboxed Function so that they can reference one another regardless
122039
+ * of source order. Every resulting binding lands in a flat scope record —
122040
+ * components, helpers, and plain values share the same map.
122041
+ *
122042
+ * Any evaluation error is consumed and logged. We don't throw because it's
122043
+ * against the spirit of this engine to be less permissive than MDX needs.
122044
+ */
122045
+ const evaluateExports = () => (tree, file) => {
122046
+ const programBody = [];
122047
+ const exportNames = [];
122048
+ const nodesToRemove = [];
122049
+ visit(tree, isMDXEsm, (node, index, parent) => {
122050
+ if (parent && typeof index === 'number') {
122051
+ nodesToRemove.push({ index, parent: parent });
122052
+ }
122053
+ const estreeBody = node.data?.estree?.body;
122054
+ if (!estreeBody)
122055
+ return;
122056
+ // One mdxjsEsm node can contain multiple export declarations.
122057
+ // `export default function Foo()` and `export default class Foo {}` are
122058
+ // handled the same as a named export — the inner declaration carries the
122059
+ // binding name
122060
+ estreeBody.forEach(statement => {
122061
+ let declaration = null;
122062
+ if (statement.type === 'ExportNamedDeclaration' && statement.declaration) {
122063
+ declaration = statement.declaration;
122064
+ }
122065
+ else if (statement.type === 'ExportDefaultDeclaration' &&
122066
+ (statement.declaration.type === 'FunctionDeclaration' || statement.declaration.type === 'ClassDeclaration') &&
122067
+ statement.declaration.id) {
122068
+ declaration = statement.declaration;
122069
+ }
122070
+ if (!declaration)
122071
+ return;
122072
+ programBody.push(declaration);
122073
+ exportNames.push(...collectExportNames(declaration));
122074
+ });
122075
+ });
122076
+ // Remove the mdxjsEsm nodes from the tree
122077
+ nodesToRemove
122078
+ .sort((a, b) => b.index - a.index)
122079
+ .forEach(({ index, parent }) => parent.children.splice(index, 1));
122080
+ if (!exportNames.length)
122081
+ return tree;
122082
+ const scope = {};
122083
+ // Evaluate the declarations together at once in a single sandboxed Function
122084
+ try {
122085
+ const program = { type: 'Program', sourceType: 'module', body: programBody };
122086
+ buildJsx(program, { runtime: 'classic', pragma: 'React.createElement', pragmaFrag: 'React.Fragment' });
122087
+ const { value: source } = toJs(program);
122088
+ // Evaluate and build on the expression source
122089
+ // Use react to compile JSX codes
122090
+ const evaluatedExports = evaluate(`(() => { ${source}\nreturn { ${exportNames.join(', ')} }; })()`, { React: (external_react_default()) });
122091
+ Object.assign(scope, evaluatedExports);
122092
+ }
122093
+ catch (error) {
122094
+ // eslint-disable-next-line no-console
122095
+ console.warn('[WARNING] Failed to evaluate exported declarations:', error);
122096
+ // eslint-disable-next-line no-console
122097
+ console.warn('[WARNING] Falling back to not evaluating exported declarations.');
122098
+ }
122099
+ file.data.mdxishScope = scope;
122100
+ return tree;
122101
+ };
122102
+ /* harmony default export */ const evaluate_exports = (evaluateExports);
122103
+
122104
+ // EXTERNAL MODULE: ./node_modules/react-dom/server.node.js
122105
+ var server_node = __webpack_require__(4362);
121616
122106
  ;// ./processor/transform/mdxish/evaluate-expressions.ts
121617
122107
 
121618
122108
 
122109
+
122110
+
122111
+
122112
+
122113
+ const HAS_JSX = /<[A-Za-z]|<>/;
122114
+ /** The raw Function() can't parse JSX, so parse & convert it to a React element first so later we can get its HTML representation */
122115
+ const evalJsxExpression = (expression, scope) => {
122116
+ const program = jsxAcornParser.parse(expression, { ecmaVersion: 'latest', sourceType: 'module' });
122117
+ buildJsx(program, { runtime: 'classic', pragma: 'React.createElement', pragmaFrag: 'React.Fragment' });
122118
+ const { value: source } = toJs(program);
122119
+ return evaluate(`(() => { return ${source.trim().replace(/;$/, '')}; })()`, scope);
122120
+ };
122121
+ /** Evaluate an expression body, transforming JSX to `React.createElement` only when needed. */
122122
+ const evalExpression = (expression, scope) => {
122123
+ if (HAS_JSX.test(expression))
122124
+ return evalJsxExpression(expression, scope);
122125
+ return evaluate(expression, scope);
122126
+ };
122127
+ /** Given the type of the expression result, create the corresponding mdast node. */
122128
+ const createEvaluatedNode = (result, position) => {
122129
+ if (result === null || result === undefined) {
122130
+ return { type: 'text', value: '', position };
122131
+ }
122132
+ else if (external_react_default().isValidElement(result)) {
122133
+ // Convert react elements to its HTML representation
122134
+ // This must come before the object check as this is a subset of it
122135
+ return { type: 'html', value: (0,server_node/* renderToStaticMarkup */.qV)(result), position };
122136
+ }
122137
+ else if (typeof result === 'object') {
122138
+ return { type: 'text', value: JSON.stringify(result), position };
122139
+ }
122140
+ return { type: 'text', value: String(result), position };
122141
+ };
121619
122142
  /**
121620
122143
  * AST transformer to evaluate MDX expressions.
121621
122144
  * Replaces mdxFlowExpression and mdxTextExpression nodes with their evaluated values.
121622
- * Runs with no scope, so only self-contained expressions resolve
121623
- * (e.g. `{1+1}`, `{"hi".toUpperCase()}`); anything that references an external
121624
- * identifier falls through to the error branch and is kept as literal `{...}` text.
122145
+ * Self-contained expressions resolve directly (e.g. `{1+1}`); expressions that
122146
+ * reference identifiers can resolve if those identifiers were introduced by an
122147
+ * earlier `export const/function` (collected onto `file.data.mdxishScope`).
122148
+ * Anything else falls through to the error branch and is kept as literal `{...}` text.
121625
122149
  */
121626
- const evaluateExpressions = () => tree => {
122150
+ const evaluateExpressions = () => (tree, file) => {
122151
+ const scope = { ...(file.data.mdxishScope), React: (external_react_default()) };
121627
122152
  visit(tree, ['mdxFlowExpression', 'mdxTextExpression'], (node, index, parent) => {
121628
122153
  if (!parent || index === null || index === undefined)
121629
122154
  return;
121630
- const expressionNode = node;
121631
- if (!('value' in expressionNode))
121632
- return;
121633
- const expression = expressionNode.value.trim();
121634
- // Skip if expression is empty (shouldn't happen, but defensive)
122155
+ const { value, position } = node;
122156
+ const expression = value?.trim();
121635
122157
  if (!expression)
121636
122158
  return;
121637
122159
  try {
121638
- const result = evaluate(expression);
121639
- // Extract evaluated value text
121640
- let textValue;
121641
- if (result === null || result === undefined) {
121642
- textValue = '';
121643
- }
121644
- else if (typeof result === 'object') {
121645
- textValue = JSON.stringify(result);
121646
- }
121647
- else {
121648
- textValue = String(result).replace(/\s+/g, ' ').trim();
121649
- }
121650
- // Replace expression node with text node since the expression is conceptually a text
121651
- parent.children.splice(index, 1, {
121652
- type: 'text',
121653
- value: textValue,
121654
- position: expressionNode.position,
121655
- });
122160
+ const result = evalExpression(expression, scope);
122161
+ parent.children.splice(index, 1, createEvaluatedNode(result, position));
121656
122162
  }
121657
122163
  catch (_error) {
121658
- // If evaluation fails, leave the expression as-is (fallback to text)
121659
- // we still need to manually escape escaped characters because the expression
121660
- // parser treats the contents as code instead of text, skipping the backslash escapes
122164
+ // Evaluation failed fall back to literal `{...}` text. The expression
122165
+ // parser treats contents as code, so backslash escapes aren't applied;
122166
+ // restore them here so e.g. `{\!}` round-trips to `{!}`.
121661
122167
  const processed = expression.replace(/\\([!-/:-@[-`{-~])/g, '$1');
121662
- parent.children.splice(index, 1, {
121663
- type: 'text',
121664
- value: `{${processed}}`,
121665
- position: expressionNode.position,
121666
- });
122168
+ parent.children.splice(index, 1, { type: 'text', value: `{${processed}}`, position });
121667
122169
  }
121668
122170
  });
121669
122171
  return tree;
@@ -123345,7 +123847,7 @@ const transformAnchor = (jsx) => {
123345
123847
  */
123346
123848
  const transformImage = (jsx) => {
123347
123849
  const attrs = getAttrs(jsx);
123348
- const { align, alt = '', border, caption, className, height, lazy, src = '', title = '', width } = attrs;
123850
+ const { align, alt = '', border, caption, className, framed, height, lazy, src = '', title = '', width } = attrs;
123349
123851
  const validAlign = toImageAlign(align);
123350
123852
  const sizing = width !== undefined ? String(width) : undefined;
123351
123853
  const hProperties = {
@@ -123356,6 +123858,7 @@ const transformImage = (jsx) => {
123356
123858
  ...(border !== undefined && { border: toBool(border) }),
123357
123859
  ...(caption && { caption }),
123358
123860
  ...(className && { className }),
123861
+ ...(framed !== undefined && { framed: toBool(framed) }),
123359
123862
  ...(height !== undefined && { height: String(height) }),
123360
123863
  ...(lazy !== undefined && { lazy: toBool(lazy) }),
123361
123864
  ...(sizing && { sizing }),
@@ -123369,6 +123872,7 @@ const transformImage = (jsx) => {
123369
123872
  caption,
123370
123873
  children: caption ? lib_mdast(caption).children : [],
123371
123874
  className,
123875
+ framed: toBool(framed),
123372
123876
  height: height !== undefined ? String(height) : undefined,
123373
123877
  lazy: toBool(lazy),
123374
123878
  sizing,
@@ -123737,6 +124241,14 @@ const mdxishJsxToMdast = () => tree => {
123737
124241
  else if (node.border !== undefined) {
123738
124242
  node.border = toBool(node.border);
123739
124243
  }
124244
+ if (hProps.framed !== undefined) {
124245
+ const val = toBool(hProps.framed);
124246
+ node.framed = val;
124247
+ hProps.framed = val;
124248
+ }
124249
+ else if (node.framed !== undefined) {
124250
+ node.framed = toBool(node.framed);
124251
+ }
123740
124252
  // Validate align
123741
124253
  const validAlign = toImageAlign(hProps.align) || toImageAlign(node.align);
123742
124254
  node.align = validAlign;
@@ -124191,11 +124703,30 @@ function normalizeTableSeparator(content) {
124191
124703
 
124192
124704
  ;// ./processor/transform/mdxish/terminate-html-flow-blocks.ts
124193
124705
 
124706
+
124194
124707
  const STANDALONE_HTML_LINE_REGEX = /^(<[a-z][^<>]*>|<\/[a-z][^<>]*>)+\s*$/;
124195
124708
  const HTML_LINE_WITH_CONTENT_REGEX = /^<[a-z][^<>]*>.*<\/[a-z][^<>]*>(?:[^<]*)$/;
124709
+ const terminate_html_flow_blocks_TABLE_STRUCTURE_TAGS = ['table', 'thead', 'tbody', 'tfoot', 'tr', 'td', 'th', 'caption', 'colgroup'];
124710
+ // Tags whose contents must be preserved as is, inserting a blank line after the
124711
+ // opener corrupts the payload.
124712
+ // htmlRawNames here refer to <pre>, <textarea>, <script>, <style>
124713
+ const RAW_CONTENT_TAGS = [...htmlRawNames, ...terminate_html_flow_blocks_TABLE_STRUCTURE_TAGS];
124714
+ // The `(?=[\s/>])` lookahead avoids false matches on lookalike names like `<script-foo>`.
124715
+ const RAW_CONTENT_TAG_MATCHERS = RAW_CONTENT_TAGS.map(tag => ({
124716
+ open: new RegExp(`<${tag}(?=[\\s/>])[^>]*?(?<!/)>`, 'gi'),
124717
+ close: new RegExp(`</${tag}(?=[\\s>])[^>]*>`, 'gi'),
124718
+ }));
124196
124719
  function isLineHtml(line) {
124197
124720
  return STANDALONE_HTML_LINE_REGEX.test(line) || HTML_LINE_WITH_CONTENT_REGEX.test(line);
124198
124721
  }
124722
+ // True if any RAW_CONTENT_TAGS opener on this line is not closed on the same line.
124723
+ function hasUnclosedRawContentOpener(line) {
124724
+ return RAW_CONTENT_TAG_MATCHERS.some(({ open, close }) => {
124725
+ const opens = (line.match(open) ?? []).length;
124726
+ const closes = (line.match(close) ?? []).length;
124727
+ return opens > closes;
124728
+ });
124729
+ }
124199
124730
  /**
124200
124731
  * Preprocessor to terminate HTML flow blocks.
124201
124732
  *
@@ -124206,15 +124737,16 @@ function isLineHtml(line) {
124206
124737
  *
124207
124738
  * @link https://spec.commonmark.org/0.29/#html-blocks
124208
124739
  *
124209
- * This preprocessor inserts a blank line after standalone HTML lines when the
124210
- * next line is non-blank and not an HTML construct (because they still might be part of the HTML flow),
124211
- * ensuring micromark's HTML flow tokenizer terminates and subsequent content is parsed independently.
124740
+ * This preprocessor inserts a blank line after standalone HTML lines when the next
124741
+ * line is non-blank and not an HTML construct, ensuring micromark's HTML flow
124742
+ * tokenizer terminates and subsequent content is parsed independently.
124212
124743
  *
124213
124744
  * Conditions:
124214
- * 1. Only targets non-indented lines with lowercase tag names. Uppercase tags
124215
- * (e.g., `<Table>`, `<MyComponent>`) are JSX custom components and don't
124216
- * trigger CommonMark HTML blocks, so they are left untouched.
124217
- * 2. Lines inside protected blocks (e.g., code blocks) should be left untouched.
124745
+ * 1. Only non-indented lines with lowercase tag names are considered. Uppercase tags
124746
+ * (e.g. `<Table>`, `<MyComponent>`) are JSX custom components and don't trigger
124747
+ * CommonMark HTML blocks.
124748
+ * 2. Lines inside protected blocks (e.g. fenced code) are left untouched.
124749
+ * 3. Lines with an unclosed RAW_CONTENT_TAGS opener are exempted.
124218
124750
  */
124219
124751
  function terminateHtmlFlowBlocks(content) {
124220
124752
  const { protectedContent, protectedCode } = protectCodeBlocks(content);
@@ -124229,7 +124761,7 @@ function terminateHtmlFlowBlocks(content) {
124229
124761
  }
124230
124762
  const isCurrentLineHtml = isLineHtml(lines[i]);
124231
124763
  const isNextLineHtml = isLineHtml(lines[i + 1]);
124232
- if (isCurrentLineHtml && !isNextLineHtml) {
124764
+ if (isCurrentLineHtml && !isNextLineHtml && !hasUnclosedRawContentOpener(lines[i])) {
124233
124765
  result.push('');
124234
124766
  }
124235
124767
  }
@@ -124888,6 +125420,10 @@ function loadComponents() {
124888
125420
 
124889
125421
 
124890
125422
 
125423
+
125424
+
125425
+
125426
+
124891
125427
 
124892
125428
 
124893
125429
 
@@ -124959,6 +125495,9 @@ function mdxishAstProcessor(mdContent, opts = {}) {
124959
125495
  // Insert mdx expression (text-only, no flow) after gemoji at index 3
124960
125496
  micromarkExts.splice(3, 0, mdxExprTextOnly);
124961
125497
  fromMarkdownExts.splice(3, 0, mdxExpressionFromMarkdown());
125498
+ // Tokenizer for MDX variable declarations
125499
+ micromarkExts.push(mdxjsEsm({ acorn: jsxAcornParser, addResult: true }));
125500
+ fromMarkdownExts.push(mdxjsEsmFromMarkdown());
124962
125501
  }
124963
125502
  if (!safeMode) {
124964
125503
  // JSX comment tokenizer must come before magicBlock so it claims `{/* ... */}` first
@@ -125039,8 +125578,9 @@ function mdxish(mdContent, opts = {}) {
125039
125578
  const contentWithoutComments = restoreCodeBlocks(withoutComments, protectedCode);
125040
125579
  const { processor, parserReadyContent } = mdxishAstProcessor(contentWithoutComments, opts);
125041
125580
  processor
125581
+ .use(safeMode ? undefined : evaluate_exports) // Evaluate `export const/function` and stash scope on file.data.mdxishScope
125582
+ .use(remarkBreaks) // Must precede evaluateExpressions to avoid splitting the \n in an evaluated template literal into a <br> node
125042
125583
  .use(safeMode ? undefined : evaluate_expressions) // Evaluate self-contained MDX expressions (e.g. `{1+1}`)
125043
- .use(remarkBreaks)
125044
125584
  .use(variables_code, { variables }) // Resolve <<...>> and {user.*} inside code and inline code nodes
125045
125585
  .use(remarkRehype, { allowDangerousHtml: true, handlers: mdxComponentHandlers })
125046
125586
  .use(preserveBooleanProperties) // RehypeRaw converts boolean properties to empty strings
@@ -125055,10 +125595,17 @@ function mdxish(mdContent, opts = {}) {
125055
125595
  processMarkdown: (markdown) => mdxish(markdown, opts),
125056
125596
  });
125057
125597
  const vfile = new VFile({ value: parserReadyContent });
125058
- const hast = processor.runSync(processor.parse(parserReadyContent), vfile);
125598
+ const mdast = processor.parse(parserReadyContent);
125599
+ const hast = processor.runSync(mdast, vfile);
125059
125600
  if (!hast) {
125060
125601
  throw new Error('Markdown pipeline did not produce a HAST tree.');
125061
125602
  }
125603
+ // Stash the in-document exported components on the tree
125604
+ // so that the renderer consumer knows & renders them.
125605
+ // Required for exported components to get rendered.
125606
+ if (vfile.data.mdxishScope) {
125607
+ hast.data = { ...hast.data, mdxishScope: vfile.data.mdxishScope };
125608
+ }
125062
125609
  return hast;
125063
125610
  }
125064
125611
  /* harmony default export */ const lib_mdxish = (mdxish);
@@ -125285,7 +125832,10 @@ function exportComponentsForRehype(components) {
125285
125832
  function createElementPreservingHastProps(type, props, ...children) {
125286
125833
  if (props?.node?.properties) {
125287
125834
  const { node, ...rest } = props;
125288
- return external_react_default().createElement(type, { ...rest, ...node.properties }, ...children);
125835
+ const mergedProps = { ...rest, ...node.properties };
125836
+ // Strip undefined so positional args don't shadow node.properties.children
125837
+ const definedChildren = children.filter(c => c !== undefined);
125838
+ return external_react_default().createElement(type, mergedProps, ...definedChildren);
125289
125839
  }
125290
125840
  return external_react_default().createElement(type, props, ...children);
125291
125841
  }
@@ -125351,6 +125901,12 @@ const renderMdxish = (tree, opts = {}) => {
125351
125901
  };
125352
125902
  const headings = extractToc(tree, components);
125353
125903
  const componentsForRehype = exportComponentsForRehype(components);
125904
+ // Merge any in-document bindings collected at compile time. Local scope wins
125905
+ // over caller-provided components
125906
+ const localScope = tree.data?.mdxishScope ?? {};
125907
+ Object.entries(localScope).forEach(([name, value]) => {
125908
+ componentsForRehype[name] = value;
125909
+ });
125354
125910
  const processor = createRehypeReactProcessor(componentsForRehype);
125355
125911
  const content = processor.stringify(tree);
125356
125912
  const tocHast = headings.length > 0 ? tocToHast(headings, variables) : null;