import { r as __export } from "./chunk-BNovOVIE.js";
const convert = (function(m) {
  if (m == null) return ok$1;
  if (typeof m == "function") return castFactory(m);
  if (typeof m == "object") return Array.isArray(m) ? anyFactory(m) : propsFactory(m);
  if (typeof m == "string") return typeFactory(m);
  throw Error("Expected function, string, or object as test");
});
function anyFactory(m) {
  let U = [], W = -1;
  for (; ++W < m.length; ) U[W] = convert(m[W]);
  return castFactory(G);
  function G(...m2) {
    let H = -1;
    for (; ++H < U.length; ) if (U[H].apply(this, m2)) return true;
    return false;
  }
}
function propsFactory(m) {
  let H = m;
  return castFactory(U);
  function U(U2) {
    let W = U2, G;
    for (G in m) if (W[G] !== H[G]) return false;
    return true;
  }
}
function typeFactory(m) {
  return castFactory(H);
  function H(H2) {
    return H2 && H2.type === m;
  }
}
function castFactory(m) {
  return H;
  function H(H2, U, W) {
    return !!(looksLikeANode(H2) && m.call(this, H2, typeof U == "number" ? U : void 0, W || void 0));
  }
}
function ok$1() {
  return true;
}
function looksLikeANode(m) {
  return typeof m == "object" && !!m && "type" in m;
}
function color(m) {
  return m;
}
var empty = [];
const CONTINUE = true, EXIT = false, SKIP = "skip";
function visitParents(m, U, W, G) {
  let K;
  typeof U == "function" && typeof W != "function" ? (G = W, W = U) : K = U;
  let q = convert(K), J = G ? -1 : 1;
  X(m, void 0, [])();
  function X(m2, H, K2) {
    let Z = m2 && typeof m2 == "object" ? m2 : {};
    if (typeof Z.type == "string") {
      let H2 = typeof Z.tagName == "string" ? Z.tagName : typeof Z.name == "string" ? Z.name : void 0;
      Object.defineProperty(Q, "name", { value: "node (" + color(m2.type + (H2 ? "<" + H2 + ">" : "")) + ")" });
    }
    return Q;
    function Q() {
      let Y = empty, Z2, Q2, $;
      if ((!U || q(m2, H, K2[K2.length - 1] || void 0)) && (Y = toResult(W(m2, K2)), Y[0] === false)) return Y;
      if ("children" in m2 && m2.children) {
        let H2 = m2;
        if (H2.children && Y[0] !== "skip") for (Q2 = (G ? H2.children.length : -1) + J, $ = K2.concat(H2); Q2 > -1 && Q2 < H2.children.length; ) {
          let m3 = H2.children[Q2];
          if (Z2 = X(m3, Q2, $)(), Z2[0] === false) return Z2;
          Q2 = typeof Z2[1] == "number" ? Z2[1] : Q2 + J;
        }
      }
      return Y;
    }
  }
}
function toResult(m) {
  return Array.isArray(m) ? m : typeof m == "number" ? [true, m] : m == null ? empty : [m];
}
function ok() {
}
var Schema = class {
  constructor(m, H, U) {
    this.normal = H, this.property = m, U && (this.space = U);
  }
};
Schema.prototype.normal = {}, Schema.prototype.property = {}, Schema.prototype.space = void 0;
function merge(m, H) {
  let U = {}, W = {};
  for (let H2 of m) Object.assign(U, H2.property), Object.assign(W, H2.normal);
  return new Schema(U, W, H);
}
function normalize(m) {
  return m.toLowerCase();
}
var Info = class {
  constructor(m, H) {
    this.attribute = H, this.property = m;
  }
};
Info.prototype.attribute = "", Info.prototype.booleanish = false, Info.prototype.boolean = false, Info.prototype.commaOrSpaceSeparated = false, Info.prototype.commaSeparated = false, Info.prototype.defined = false, Info.prototype.mustUseProperty = false, Info.prototype.number = false, Info.prototype.overloadedBoolean = false, Info.prototype.property = "", Info.prototype.spaceSeparated = false, Info.prototype.space = void 0;
var types_exports = /* @__PURE__ */ __export({
  boolean: () => boolean,
  booleanish: () => booleanish,
  commaOrSpaceSeparated: () => commaOrSpaceSeparated,
  commaSeparated: () => commaSeparated,
  number: () => number,
  overloadedBoolean: () => overloadedBoolean,
  spaceSeparated: () => spaceSeparated
}, 1), powers = 0;
const boolean = increment(), booleanish = increment(), overloadedBoolean = increment(), number = increment(), spaceSeparated = increment(), commaSeparated = increment(), commaOrSpaceSeparated = increment();
function increment() {
  return 2 ** ++powers;
}
var checks = Object.keys(types_exports), DefinedInfo = class extends Info {
  constructor(m, H, U, W) {
    let G = -1;
    if (super(m, H), mark(this, "space", W), typeof U == "number") for (; ++G < checks.length; ) {
      let m2 = checks[G];
      mark(this, checks[G], (U & types_exports[m2]) === types_exports[m2]);
    }
  }
};
DefinedInfo.prototype.defined = true;
function mark(m, H, U) {
  U && (m[H] = U);
}
function create(m) {
  let H = {}, U = {};
  for (let [W, G] of Object.entries(m.properties)) {
    let K = new DefinedInfo(W, m.transform(m.attributes || {}, W), G, m.space);
    m.mustUseProperty && m.mustUseProperty.includes(W) && (K.mustUseProperty = true), H[W] = K, U[normalize(W)] = W, U[normalize(K.attribute)] = W;
  }
  return new Schema(H, U, m.space);
}
const aria = create({
  properties: {
    ariaActiveDescendant: null,
    ariaAtomic: booleanish,
    ariaAutoComplete: null,
    ariaBusy: booleanish,
    ariaChecked: booleanish,
    ariaColCount: number,
    ariaColIndex: number,
    ariaColSpan: number,
    ariaControls: spaceSeparated,
    ariaCurrent: null,
    ariaDescribedBy: spaceSeparated,
    ariaDetails: null,
    ariaDisabled: booleanish,
    ariaDropEffect: spaceSeparated,
    ariaErrorMessage: null,
    ariaExpanded: booleanish,
    ariaFlowTo: spaceSeparated,
    ariaGrabbed: booleanish,
    ariaHasPopup: null,
    ariaHidden: booleanish,
    ariaInvalid: null,
    ariaKeyShortcuts: null,
    ariaLabel: null,
    ariaLabelledBy: spaceSeparated,
    ariaLevel: number,
    ariaLive: null,
    ariaModal: booleanish,
    ariaMultiLine: booleanish,
    ariaMultiSelectable: booleanish,
    ariaOrientation: null,
    ariaOwns: spaceSeparated,
    ariaPlaceholder: null,
    ariaPosInSet: number,
    ariaPressed: booleanish,
    ariaReadOnly: booleanish,
    ariaRelevant: null,
    ariaRequired: booleanish,
    ariaRoleDescription: spaceSeparated,
    ariaRowCount: number,
    ariaRowIndex: number,
    ariaRowSpan: number,
    ariaSelected: booleanish,
    ariaSetSize: number,
    ariaSort: null,
    ariaValueMax: number,
    ariaValueMin: number,
    ariaValueNow: number,
    ariaValueText: null,
    role: null
  },
  transform(m, H) {
    return H === "role" ? H : "aria-" + H.slice(4).toLowerCase();
  }
});
function caseSensitiveTransform(m, H) {
  return H in m ? m[H] : H;
}
function caseInsensitiveTransform(m, H) {
  return caseSensitiveTransform(m, H.toLowerCase());
}
const html$1 = create({
  attributes: {
    acceptcharset: "accept-charset",
    classname: "class",
    htmlfor: "for",
    httpequiv: "http-equiv"
  },
  mustUseProperty: [
    "checked",
    "multiple",
    "muted",
    "selected"
  ],
  properties: {
    abbr: null,
    accept: commaSeparated,
    acceptCharset: spaceSeparated,
    accessKey: spaceSeparated,
    action: null,
    allow: null,
    allowFullScreen: boolean,
    allowPaymentRequest: boolean,
    allowUserMedia: boolean,
    alt: null,
    as: null,
    async: boolean,
    autoCapitalize: null,
    autoComplete: spaceSeparated,
    autoFocus: boolean,
    autoPlay: boolean,
    blocking: spaceSeparated,
    capture: null,
    charSet: null,
    checked: boolean,
    cite: null,
    className: spaceSeparated,
    cols: number,
    colSpan: null,
    content: null,
    contentEditable: booleanish,
    controls: boolean,
    controlsList: spaceSeparated,
    coords: number | commaSeparated,
    crossOrigin: null,
    data: null,
    dateTime: null,
    decoding: null,
    default: boolean,
    defer: boolean,
    dir: null,
    dirName: null,
    disabled: boolean,
    download: overloadedBoolean,
    draggable: booleanish,
    encType: null,
    enterKeyHint: null,
    fetchPriority: null,
    form: null,
    formAction: null,
    formEncType: null,
    formMethod: null,
    formNoValidate: boolean,
    formTarget: null,
    headers: spaceSeparated,
    height: number,
    hidden: overloadedBoolean,
    high: number,
    href: null,
    hrefLang: null,
    htmlFor: spaceSeparated,
    httpEquiv: spaceSeparated,
    id: null,
    imageSizes: null,
    imageSrcSet: null,
    inert: boolean,
    inputMode: null,
    integrity: null,
    is: null,
    isMap: boolean,
    itemId: null,
    itemProp: spaceSeparated,
    itemRef: spaceSeparated,
    itemScope: boolean,
    itemType: spaceSeparated,
    kind: null,
    label: null,
    lang: null,
    language: null,
    list: null,
    loading: null,
    loop: boolean,
    low: number,
    manifest: null,
    max: null,
    maxLength: number,
    media: null,
    method: null,
    min: null,
    minLength: number,
    multiple: boolean,
    muted: boolean,
    name: null,
    nonce: null,
    noModule: boolean,
    noValidate: boolean,
    onAbort: null,
    onAfterPrint: null,
    onAuxClick: null,
    onBeforeMatch: null,
    onBeforePrint: null,
    onBeforeToggle: null,
    onBeforeUnload: null,
    onBlur: null,
    onCancel: null,
    onCanPlay: null,
    onCanPlayThrough: null,
    onChange: null,
    onClick: null,
    onClose: null,
    onContextLost: null,
    onContextMenu: null,
    onContextRestored: null,
    onCopy: null,
    onCueChange: null,
    onCut: null,
    onDblClick: null,
    onDrag: null,
    onDragEnd: null,
    onDragEnter: null,
    onDragExit: null,
    onDragLeave: null,
    onDragOver: null,
    onDragStart: null,
    onDrop: null,
    onDurationChange: null,
    onEmptied: null,
    onEnded: null,
    onError: null,
    onFocus: null,
    onFormData: null,
    onHashChange: null,
    onInput: null,
    onInvalid: null,
    onKeyDown: null,
    onKeyPress: null,
    onKeyUp: null,
    onLanguageChange: null,
    onLoad: null,
    onLoadedData: null,
    onLoadedMetadata: null,
    onLoadEnd: null,
    onLoadStart: null,
    onMessage: null,
    onMessageError: null,
    onMouseDown: null,
    onMouseEnter: null,
    onMouseLeave: null,
    onMouseMove: null,
    onMouseOut: null,
    onMouseOver: null,
    onMouseUp: null,
    onOffline: null,
    onOnline: null,
    onPageHide: null,
    onPageShow: null,
    onPaste: null,
    onPause: null,
    onPlay: null,
    onPlaying: null,
    onPopState: null,
    onProgress: null,
    onRateChange: null,
    onRejectionHandled: null,
    onReset: null,
    onResize: null,
    onScroll: null,
    onScrollEnd: null,
    onSecurityPolicyViolation: null,
    onSeeked: null,
    onSeeking: null,
    onSelect: null,
    onSlotChange: null,
    onStalled: null,
    onStorage: null,
    onSubmit: null,
    onSuspend: null,
    onTimeUpdate: null,
    onToggle: null,
    onUnhandledRejection: null,
    onUnload: null,
    onVolumeChange: null,
    onWaiting: null,
    onWheel: null,
    open: boolean,
    optimum: number,
    pattern: null,
    ping: spaceSeparated,
    placeholder: null,
    playsInline: boolean,
    popover: null,
    popoverTarget: null,
    popoverTargetAction: null,
    poster: null,
    preload: null,
    readOnly: boolean,
    referrerPolicy: null,
    rel: spaceSeparated,
    required: boolean,
    reversed: boolean,
    rows: number,
    rowSpan: number,
    sandbox: spaceSeparated,
    scope: null,
    scoped: boolean,
    seamless: boolean,
    selected: boolean,
    shadowRootClonable: boolean,
    shadowRootDelegatesFocus: boolean,
    shadowRootMode: null,
    shape: null,
    size: number,
    sizes: null,
    slot: null,
    span: number,
    spellCheck: booleanish,
    src: null,
    srcDoc: null,
    srcLang: null,
    srcSet: null,
    start: number,
    step: null,
    style: null,
    tabIndex: number,
    target: null,
    title: null,
    translate: null,
    type: null,
    typeMustMatch: boolean,
    useMap: null,
    value: booleanish,
    width: number,
    wrap: null,
    writingSuggestions: null,
    align: null,
    aLink: null,
    archive: spaceSeparated,
    axis: null,
    background: null,
    bgColor: null,
    border: number,
    borderColor: null,
    bottomMargin: number,
    cellPadding: null,
    cellSpacing: null,
    char: null,
    charOff: null,
    classId: null,
    clear: null,
    code: null,
    codeBase: null,
    codeType: null,
    color: null,
    compact: boolean,
    declare: boolean,
    event: null,
    face: null,
    frame: null,
    frameBorder: null,
    hSpace: number,
    leftMargin: number,
    link: null,
    longDesc: null,
    lowSrc: null,
    marginHeight: number,
    marginWidth: number,
    noResize: boolean,
    noHref: boolean,
    noShade: boolean,
    noWrap: boolean,
    object: null,
    profile: null,
    prompt: null,
    rev: null,
    rightMargin: number,
    rules: null,
    scheme: null,
    scrolling: booleanish,
    standby: null,
    summary: null,
    text: null,
    topMargin: number,
    valueType: null,
    version: null,
    vAlign: null,
    vLink: null,
    vSpace: number,
    allowTransparency: null,
    autoCorrect: null,
    autoSave: null,
    disablePictureInPicture: boolean,
    disableRemotePlayback: boolean,
    prefix: null,
    property: null,
    results: number,
    security: null,
    unselectable: null
  },
  space: "html",
  transform: caseInsensitiveTransform
}), svg$1 = create({
  attributes: {
    accentHeight: "accent-height",
    alignmentBaseline: "alignment-baseline",
    arabicForm: "arabic-form",
    baselineShift: "baseline-shift",
    capHeight: "cap-height",
    className: "class",
    clipPath: "clip-path",
    clipRule: "clip-rule",
    colorInterpolation: "color-interpolation",
    colorInterpolationFilters: "color-interpolation-filters",
    colorProfile: "color-profile",
    colorRendering: "color-rendering",
    crossOrigin: "crossorigin",
    dataType: "datatype",
    dominantBaseline: "dominant-baseline",
    enableBackground: "enable-background",
    fillOpacity: "fill-opacity",
    fillRule: "fill-rule",
    floodColor: "flood-color",
    floodOpacity: "flood-opacity",
    fontFamily: "font-family",
    fontSize: "font-size",
    fontSizeAdjust: "font-size-adjust",
    fontStretch: "font-stretch",
    fontStyle: "font-style",
    fontVariant: "font-variant",
    fontWeight: "font-weight",
    glyphName: "glyph-name",
    glyphOrientationHorizontal: "glyph-orientation-horizontal",
    glyphOrientationVertical: "glyph-orientation-vertical",
    hrefLang: "hreflang",
    horizAdvX: "horiz-adv-x",
    horizOriginX: "horiz-origin-x",
    horizOriginY: "horiz-origin-y",
    imageRendering: "image-rendering",
    letterSpacing: "letter-spacing",
    lightingColor: "lighting-color",
    markerEnd: "marker-end",
    markerMid: "marker-mid",
    markerStart: "marker-start",
    navDown: "nav-down",
    navDownLeft: "nav-down-left",
    navDownRight: "nav-down-right",
    navLeft: "nav-left",
    navNext: "nav-next",
    navPrev: "nav-prev",
    navRight: "nav-right",
    navUp: "nav-up",
    navUpLeft: "nav-up-left",
    navUpRight: "nav-up-right",
    onAbort: "onabort",
    onActivate: "onactivate",
    onAfterPrint: "onafterprint",
    onBeforePrint: "onbeforeprint",
    onBegin: "onbegin",
    onCancel: "oncancel",
    onCanPlay: "oncanplay",
    onCanPlayThrough: "oncanplaythrough",
    onChange: "onchange",
    onClick: "onclick",
    onClose: "onclose",
    onCopy: "oncopy",
    onCueChange: "oncuechange",
    onCut: "oncut",
    onDblClick: "ondblclick",
    onDrag: "ondrag",
    onDragEnd: "ondragend",
    onDragEnter: "ondragenter",
    onDragExit: "ondragexit",
    onDragLeave: "ondragleave",
    onDragOver: "ondragover",
    onDragStart: "ondragstart",
    onDrop: "ondrop",
    onDurationChange: "ondurationchange",
    onEmptied: "onemptied",
    onEnd: "onend",
    onEnded: "onended",
    onError: "onerror",
    onFocus: "onfocus",
    onFocusIn: "onfocusin",
    onFocusOut: "onfocusout",
    onHashChange: "onhashchange",
    onInput: "oninput",
    onInvalid: "oninvalid",
    onKeyDown: "onkeydown",
    onKeyPress: "onkeypress",
    onKeyUp: "onkeyup",
    onLoad: "onload",
    onLoadedData: "onloadeddata",
    onLoadedMetadata: "onloadedmetadata",
    onLoadStart: "onloadstart",
    onMessage: "onmessage",
    onMouseDown: "onmousedown",
    onMouseEnter: "onmouseenter",
    onMouseLeave: "onmouseleave",
    onMouseMove: "onmousemove",
    onMouseOut: "onmouseout",
    onMouseOver: "onmouseover",
    onMouseUp: "onmouseup",
    onMouseWheel: "onmousewheel",
    onOffline: "onoffline",
    onOnline: "ononline",
    onPageHide: "onpagehide",
    onPageShow: "onpageshow",
    onPaste: "onpaste",
    onPause: "onpause",
    onPlay: "onplay",
    onPlaying: "onplaying",
    onPopState: "onpopstate",
    onProgress: "onprogress",
    onRateChange: "onratechange",
    onRepeat: "onrepeat",
    onReset: "onreset",
    onResize: "onresize",
    onScroll: "onscroll",
    onSeeked: "onseeked",
    onSeeking: "onseeking",
    onSelect: "onselect",
    onShow: "onshow",
    onStalled: "onstalled",
    onStorage: "onstorage",
    onSubmit: "onsubmit",
    onSuspend: "onsuspend",
    onTimeUpdate: "ontimeupdate",
    onToggle: "ontoggle",
    onUnload: "onunload",
    onVolumeChange: "onvolumechange",
    onWaiting: "onwaiting",
    onZoom: "onzoom",
    overlinePosition: "overline-position",
    overlineThickness: "overline-thickness",
    paintOrder: "paint-order",
    panose1: "panose-1",
    pointerEvents: "pointer-events",
    referrerPolicy: "referrerpolicy",
    renderingIntent: "rendering-intent",
    shapeRendering: "shape-rendering",
    stopColor: "stop-color",
    stopOpacity: "stop-opacity",
    strikethroughPosition: "strikethrough-position",
    strikethroughThickness: "strikethrough-thickness",
    strokeDashArray: "stroke-dasharray",
    strokeDashOffset: "stroke-dashoffset",
    strokeLineCap: "stroke-linecap",
    strokeLineJoin: "stroke-linejoin",
    strokeMiterLimit: "stroke-miterlimit",
    strokeOpacity: "stroke-opacity",
    strokeWidth: "stroke-width",
    tabIndex: "tabindex",
    textAnchor: "text-anchor",
    textDecoration: "text-decoration",
    textRendering: "text-rendering",
    transformOrigin: "transform-origin",
    typeOf: "typeof",
    underlinePosition: "underline-position",
    underlineThickness: "underline-thickness",
    unicodeBidi: "unicode-bidi",
    unicodeRange: "unicode-range",
    unitsPerEm: "units-per-em",
    vAlphabetic: "v-alphabetic",
    vHanging: "v-hanging",
    vIdeographic: "v-ideographic",
    vMathematical: "v-mathematical",
    vectorEffect: "vector-effect",
    vertAdvY: "vert-adv-y",
    vertOriginX: "vert-origin-x",
    vertOriginY: "vert-origin-y",
    wordSpacing: "word-spacing",
    writingMode: "writing-mode",
    xHeight: "x-height",
    playbackOrder: "playbackorder",
    timelineBegin: "timelinebegin"
  },
  properties: {
    about: commaOrSpaceSeparated,
    accentHeight: number,
    accumulate: null,
    additive: null,
    alignmentBaseline: null,
    alphabetic: number,
    amplitude: number,
    arabicForm: null,
    ascent: number,
    attributeName: null,
    attributeType: null,
    azimuth: number,
    bandwidth: null,
    baselineShift: null,
    baseFrequency: null,
    baseProfile: null,
    bbox: null,
    begin: null,
    bias: number,
    by: null,
    calcMode: null,
    capHeight: number,
    className: spaceSeparated,
    clip: null,
    clipPath: null,
    clipPathUnits: null,
    clipRule: null,
    color: null,
    colorInterpolation: null,
    colorInterpolationFilters: null,
    colorProfile: null,
    colorRendering: null,
    content: null,
    contentScriptType: null,
    contentStyleType: null,
    crossOrigin: null,
    cursor: null,
    cx: null,
    cy: null,
    d: null,
    dataType: null,
    defaultAction: null,
    descent: number,
    diffuseConstant: number,
    direction: null,
    display: null,
    dur: null,
    divisor: number,
    dominantBaseline: null,
    download: boolean,
    dx: null,
    dy: null,
    edgeMode: null,
    editable: null,
    elevation: number,
    enableBackground: null,
    end: null,
    event: null,
    exponent: number,
    externalResourcesRequired: null,
    fill: null,
    fillOpacity: number,
    fillRule: null,
    filter: null,
    filterRes: null,
    filterUnits: null,
    floodColor: null,
    floodOpacity: null,
    focusable: null,
    focusHighlight: null,
    fontFamily: null,
    fontSize: null,
    fontSizeAdjust: null,
    fontStretch: null,
    fontStyle: null,
    fontVariant: null,
    fontWeight: null,
    format: null,
    fr: null,
    from: null,
    fx: null,
    fy: null,
    g1: commaSeparated,
    g2: commaSeparated,
    glyphName: commaSeparated,
    glyphOrientationHorizontal: null,
    glyphOrientationVertical: null,
    glyphRef: null,
    gradientTransform: null,
    gradientUnits: null,
    handler: null,
    hanging: number,
    hatchContentUnits: null,
    hatchUnits: null,
    height: null,
    href: null,
    hrefLang: null,
    horizAdvX: number,
    horizOriginX: number,
    horizOriginY: number,
    id: null,
    ideographic: number,
    imageRendering: null,
    initialVisibility: null,
    in: null,
    in2: null,
    intercept: number,
    k: number,
    k1: number,
    k2: number,
    k3: number,
    k4: number,
    kernelMatrix: commaOrSpaceSeparated,
    kernelUnitLength: null,
    keyPoints: null,
    keySplines: null,
    keyTimes: null,
    kerning: null,
    lang: null,
    lengthAdjust: null,
    letterSpacing: null,
    lightingColor: null,
    limitingConeAngle: number,
    local: null,
    markerEnd: null,
    markerMid: null,
    markerStart: null,
    markerHeight: null,
    markerUnits: null,
    markerWidth: null,
    mask: null,
    maskContentUnits: null,
    maskUnits: null,
    mathematical: null,
    max: null,
    media: null,
    mediaCharacterEncoding: null,
    mediaContentEncodings: null,
    mediaSize: number,
    mediaTime: null,
    method: null,
    min: null,
    mode: null,
    name: null,
    navDown: null,
    navDownLeft: null,
    navDownRight: null,
    navLeft: null,
    navNext: null,
    navPrev: null,
    navRight: null,
    navUp: null,
    navUpLeft: null,
    navUpRight: null,
    numOctaves: null,
    observer: null,
    offset: null,
    onAbort: null,
    onActivate: null,
    onAfterPrint: null,
    onBeforePrint: null,
    onBegin: null,
    onCancel: null,
    onCanPlay: null,
    onCanPlayThrough: null,
    onChange: null,
    onClick: null,
    onClose: null,
    onCopy: null,
    onCueChange: null,
    onCut: null,
    onDblClick: null,
    onDrag: null,
    onDragEnd: null,
    onDragEnter: null,
    onDragExit: null,
    onDragLeave: null,
    onDragOver: null,
    onDragStart: null,
    onDrop: null,
    onDurationChange: null,
    onEmptied: null,
    onEnd: null,
    onEnded: null,
    onError: null,
    onFocus: null,
    onFocusIn: null,
    onFocusOut: null,
    onHashChange: null,
    onInput: null,
    onInvalid: null,
    onKeyDown: null,
    onKeyPress: null,
    onKeyUp: null,
    onLoad: null,
    onLoadedData: null,
    onLoadedMetadata: null,
    onLoadStart: null,
    onMessage: null,
    onMouseDown: null,
    onMouseEnter: null,
    onMouseLeave: null,
    onMouseMove: null,
    onMouseOut: null,
    onMouseOver: null,
    onMouseUp: null,
    onMouseWheel: null,
    onOffline: null,
    onOnline: null,
    onPageHide: null,
    onPageShow: null,
    onPaste: null,
    onPause: null,
    onPlay: null,
    onPlaying: null,
    onPopState: null,
    onProgress: null,
    onRateChange: null,
    onRepeat: null,
    onReset: null,
    onResize: null,
    onScroll: null,
    onSeeked: null,
    onSeeking: null,
    onSelect: null,
    onShow: null,
    onStalled: null,
    onStorage: null,
    onSubmit: null,
    onSuspend: null,
    onTimeUpdate: null,
    onToggle: null,
    onUnload: null,
    onVolumeChange: null,
    onWaiting: null,
    onZoom: null,
    opacity: null,
    operator: null,
    order: null,
    orient: null,
    orientation: null,
    origin: null,
    overflow: null,
    overlay: null,
    overlinePosition: number,
    overlineThickness: number,
    paintOrder: null,
    panose1: null,
    path: null,
    pathLength: number,
    patternContentUnits: null,
    patternTransform: null,
    patternUnits: null,
    phase: null,
    ping: spaceSeparated,
    pitch: null,
    playbackOrder: null,
    pointerEvents: null,
    points: null,
    pointsAtX: number,
    pointsAtY: number,
    pointsAtZ: number,
    preserveAlpha: null,
    preserveAspectRatio: null,
    primitiveUnits: null,
    propagate: null,
    property: commaOrSpaceSeparated,
    r: null,
    radius: null,
    referrerPolicy: null,
    refX: null,
    refY: null,
    rel: commaOrSpaceSeparated,
    rev: commaOrSpaceSeparated,
    renderingIntent: null,
    repeatCount: null,
    repeatDur: null,
    requiredExtensions: commaOrSpaceSeparated,
    requiredFeatures: commaOrSpaceSeparated,
    requiredFonts: commaOrSpaceSeparated,
    requiredFormats: commaOrSpaceSeparated,
    resource: null,
    restart: null,
    result: null,
    rotate: null,
    rx: null,
    ry: null,
    scale: null,
    seed: null,
    shapeRendering: null,
    side: null,
    slope: null,
    snapshotTime: null,
    specularConstant: number,
    specularExponent: number,
    spreadMethod: null,
    spacing: null,
    startOffset: null,
    stdDeviation: null,
    stemh: null,
    stemv: null,
    stitchTiles: null,
    stopColor: null,
    stopOpacity: null,
    strikethroughPosition: number,
    strikethroughThickness: number,
    string: null,
    stroke: null,
    strokeDashArray: commaOrSpaceSeparated,
    strokeDashOffset: null,
    strokeLineCap: null,
    strokeLineJoin: null,
    strokeMiterLimit: number,
    strokeOpacity: number,
    strokeWidth: null,
    style: null,
    surfaceScale: number,
    syncBehavior: null,
    syncBehaviorDefault: null,
    syncMaster: null,
    syncTolerance: null,
    syncToleranceDefault: null,
    systemLanguage: commaOrSpaceSeparated,
    tabIndex: number,
    tableValues: null,
    target: null,
    targetX: number,
    targetY: number,
    textAnchor: null,
    textDecoration: null,
    textRendering: null,
    textLength: null,
    timelineBegin: null,
    title: null,
    transformBehavior: null,
    type: null,
    typeOf: commaOrSpaceSeparated,
    to: null,
    transform: null,
    transformOrigin: null,
    u1: null,
    u2: null,
    underlinePosition: number,
    underlineThickness: number,
    unicode: null,
    unicodeBidi: null,
    unicodeRange: null,
    unitsPerEm: number,
    values: null,
    vAlphabetic: number,
    vMathematical: number,
    vectorEffect: null,
    vHanging: number,
    vIdeographic: number,
    version: null,
    vertAdvY: number,
    vertOriginX: number,
    vertOriginY: number,
    viewBox: null,
    viewTarget: null,
    visibility: null,
    width: null,
    widths: null,
    wordSpacing: null,
    writingMode: null,
    x: null,
    x1: null,
    x2: null,
    xChannelSelector: null,
    xHeight: number,
    y: null,
    y1: null,
    y2: null,
    yChannelSelector: null,
    z: null,
    zoomAndPan: null
  },
  space: "svg",
  transform: caseSensitiveTransform
}), xlink = create({
  properties: {
    xLinkActuate: null,
    xLinkArcRole: null,
    xLinkHref: null,
    xLinkRole: null,
    xLinkShow: null,
    xLinkTitle: null,
    xLinkType: null
  },
  space: "xlink",
  transform(m, H) {
    return "xlink:" + H.slice(5).toLowerCase();
  }
}), xmlns = create({
  attributes: { xmlnsxlink: "xmlns:xlink" },
  properties: {
    xmlnsXLink: null,
    xmlns: null
  },
  space: "xmlns",
  transform: caseInsensitiveTransform
}), xml = create({
  properties: {
    xmlBase: null,
    xmlLang: null,
    xmlSpace: null
  },
  space: "xml",
  transform(m, H) {
    return "xml:" + H.slice(3).toLowerCase();
  }
}), hastToReact = {
  classId: "classID",
  dataType: "datatype",
  itemId: "itemID",
  strokeDashArray: "strokeDasharray",
  strokeDashOffset: "strokeDashoffset",
  strokeLineCap: "strokeLinecap",
  strokeLineJoin: "strokeLinejoin",
  strokeMiterLimit: "strokeMiterlimit",
  typeOf: "typeof",
  xLinkActuate: "xlinkActuate",
  xLinkArcRole: "xlinkArcrole",
  xLinkHref: "xlinkHref",
  xLinkRole: "xlinkRole",
  xLinkShow: "xlinkShow",
  xLinkTitle: "xlinkTitle",
  xLinkType: "xlinkType",
  xmlnsXLink: "xmlnsXlink"
};
var cap = /[A-Z]/g, dash = /-[a-z]/g, valid = /^data[-\w.:]+$/i;
function find(m, H) {
  let U = normalize(H), W = H, G = Info;
  if (U in m.normal) return m.property[m.normal[U]];
  if (U.length > 4 && U.slice(0, 4) === "data" && valid.test(H)) {
    if (H.charAt(4) === "-") {
      let m2 = H.slice(5).replace(dash, camelcase);
      W = "data" + m2.charAt(0).toUpperCase() + m2.slice(1);
    } else {
      let m2 = H.slice(4);
      if (!dash.test(m2)) {
        let U2 = m2.replace(cap, kebab);
        U2.charAt(0) !== "-" && (U2 = "-" + U2), H = "data" + U2;
      }
    }
    G = DefinedInfo;
  }
  return new G(W, H);
}
function kebab(m) {
  return "-" + m.toLowerCase();
}
function camelcase(m) {
  return m.charAt(1).toUpperCase();
}
const html = merge([
  aria,
  html$1,
  xlink,
  xmlns,
  xml
], "html"), svg = merge([
  aria,
  svg$1,
  xlink,
  xmlns,
  xml
], "svg");
function parse(m) {
  let H = [], U = String(m || ""), W = U.indexOf(","), G = 0, K = false;
  for (; !K; ) {
    W === -1 && (W = U.length, K = true);
    let m2 = U.slice(G, W).trim();
    (m2 || !K) && H.push(m2), G = W + 1, W = U.indexOf(",", G);
  }
  return H;
}
function stringify$1(m, H) {
  let U = H || {};
  return (m[m.length - 1] === "" ? [...m, ""] : m).join((U.padRight ? " " : "") + "," + (U.padLeft === false ? "" : " ")).trim();
}
var search = /[#.]/g;
function parseSelector(m, H) {
  let U = m || "", W = {}, G = 0, K, q;
  for (; G < U.length; ) {
    search.lastIndex = G;
    let m2 = search.exec(U), H2 = U.slice(G, m2 ? m2.index : U.length);
    H2 && (K ? K === "#" ? W.id = H2 : Array.isArray(W.className) ? W.className.push(H2) : W.className = [H2] : q = H2, G += H2.length), m2 && (K = m2[0], G++);
  }
  return {
    type: "element",
    tagName: q || H || "div",
    properties: W,
    children: []
  };
}
function parse$1(m) {
  let H = String(m || "").trim();
  return H ? H.split(/[ \t\n\r\f]+/g) : [];
}
function stringify(m) {
  return m.join(" ").trim();
}
function createH(m, H, U) {
  let W = U ? createAdjustMap(U) : void 0;
  function G(U2, G2, ...K) {
    let q;
    if (U2 == null) {
      q = {
        type: "root",
        children: []
      };
      let m2 = G2;
      K.unshift(m2);
    } else {
      q = parseSelector(U2, H);
      let J = q.tagName.toLowerCase(), Y = W ? W.get(J) : void 0;
      if (q.tagName = Y || J, isChild(G2)) K.unshift(G2);
      else for (let [H2, U3] of Object.entries(G2)) addProperty(m, q.properties, H2, U3);
    }
    for (let m2 of K) addChild(q.children, m2);
    return q.type === "element" && q.tagName === "template" && (q.content = {
      type: "root",
      children: q.children
    }, q.children = []), q;
  }
  return G;
}
function isChild(m) {
  if (typeof m != "object" || !m || Array.isArray(m)) return true;
  if (typeof m.type != "string") return false;
  let H = m, U = Object.keys(m);
  for (let m2 of U) {
    let U2 = H[m2];
    if (U2 && typeof U2 == "object") {
      if (!Array.isArray(U2)) return true;
      let m3 = U2;
      for (let H2 of m3) if (typeof H2 != "number" && typeof H2 != "string") return true;
    }
  }
  return !!("children" in m && Array.isArray(m.children));
}
function addProperty(m, H, U, W) {
  let G = find(m, U), K;
  if (W != null) {
    if (typeof W == "number") {
      if (Number.isNaN(W)) return;
      K = W;
    } else K = typeof W == "boolean" ? W : typeof W == "string" ? G.spaceSeparated ? parse$1(W) : G.commaSeparated ? parse(W) : G.commaOrSpaceSeparated ? parse$1(parse(W).join(" ")) : parsePrimitive(G, G.property, W) : Array.isArray(W) ? [...W] : G.property === "style" ? style(W) : String(W);
    if (Array.isArray(K)) {
      let m2 = [];
      for (let H2 of K) m2.push(parsePrimitive(G, G.property, H2));
      K = m2;
    }
    G.property === "className" && Array.isArray(H.className) && (K = H.className.concat(K)), H[G.property] = K;
  }
}
function addChild(m, H) {
  if (H != null) if (typeof H == "number" || typeof H == "string") m.push({
    type: "text",
    value: String(H)
  });
  else if (Array.isArray(H)) for (let U of H) addChild(m, U);
  else if (typeof H == "object" && "type" in H) H.type === "root" ? addChild(m, H.children) : m.push(H);
  else throw Error("Expected node, nodes, or string, got `" + H + "`");
}
function parsePrimitive(m, H, U) {
  if (typeof U == "string") {
    if (m.number && U && !Number.isNaN(Number(U))) return Number(U);
    if ((m.boolean || m.overloadedBoolean) && (U === "" || normalize(U) === normalize(H))) return true;
  }
  return U;
}
function style(m) {
  let H = [];
  for (let [U, W] of Object.entries(m)) H.push([U, W].join(": "));
  return H.join("; ");
}
function createAdjustMap(m) {
  let H = /* @__PURE__ */ new Map();
  for (let U of m) H.set(U.toLowerCase(), U);
  return H;
}
const svgCaseSensitiveTagNames = /* @__PURE__ */ "altGlyph.altGlyphDef.altGlyphItem.animateColor.animateMotion.animateTransform.clipPath.feBlend.feColorMatrix.feComponentTransfer.feComposite.feConvolveMatrix.feDiffuseLighting.feDisplacementMap.feDistantLight.feDropShadow.feFlood.feFuncA.feFuncB.feFuncG.feFuncR.feGaussianBlur.feImage.feMerge.feMergeNode.feMorphology.feOffset.fePointLight.feSpecularLighting.feSpotLight.feTile.feTurbulence.foreignObject.glyphRef.linearGradient.radialGradient.solidColor.textArea.textPath".split("."), h = createH(html, "div"), s = createH(svg, "g", svgCaseSensitiveTagNames), webNamespaces = {
  html: "http://www.w3.org/1999/xhtml",
  mathml: "http://www.w3.org/1998/Math/MathML",
  svg: "http://www.w3.org/2000/svg",
  xlink: "http://www.w3.org/1999/xlink",
  xml: "http://www.w3.org/XML/1998/namespace",
  xmlns: "http://www.w3.org/2000/xmlns/"
}, asciiAlpha = regexCheck(/[A-Za-z]/), asciiAlphanumeric = regexCheck(/[\dA-Za-z]/), asciiAtext = regexCheck(/[#-'*+\--9=?A-Z^-~]/);
function asciiControl(m) {
  return m !== null && (m < 32 || m === 127);
}
const asciiDigit = regexCheck(/\d/), asciiHexDigit = regexCheck(/[\dA-Fa-f]/), asciiPunctuation = regexCheck(/[!-/:-@[-`{-~]/);
function markdownLineEnding(m) {
  return m !== null && m < -2;
}
function markdownLineEndingOrSpace(m) {
  return m !== null && (m < 0 || m === 32);
}
function markdownSpace(m) {
  return m === -2 || m === -1 || m === 32;
}
const unicodePunctuation = regexCheck(new RegExp("\\p{P}|\\p{S}", "u")), unicodeWhitespace = regexCheck(/\s/);
function regexCheck(m) {
  return H;
  function H(H2) {
    return H2 !== null && H2 > -1 && m.test(String.fromCharCode(H2));
  }
}
function longestStreak(m, H) {
  let U = String(m), W = U.indexOf(H), G = W, K = 0, q = 0;
  if (typeof H != "string") throw TypeError("Expected substring");
  for (; W !== -1; ) W === G ? ++K > q && (q = K) : K = 1, G = W + H.length, W = U.indexOf(H, G);
  return q;
}
function factorySpace(m, H, U, W) {
  let G = W ? W - 1 : Infinity, K = 0;
  return q;
  function q(W2) {
    return markdownSpace(W2) ? (m.enter(U), J(W2)) : H(W2);
  }
  function J(W2) {
    return markdownSpace(W2) && K++ < G ? (m.consume(W2), J) : (m.exit(U), H(W2));
  }
}
export {
  hastToReact as C,
  SKIP as D,
  EXIT as E,
  visitParents as O,
  find as S,
  CONTINUE as T,
  s as _,
  asciiAtext as a,
  html as b,
  asciiHexDigit as c,
  markdownLineEndingOrSpace as d,
  markdownSpace as f,
  h as g,
  webNamespaces as h,
  asciiAlphanumeric as i,
  convert as k,
  asciiPunctuation as l,
  unicodeWhitespace as m,
  longestStreak as n,
  asciiControl as o,
  unicodePunctuation as p,
  asciiAlpha as r,
  asciiDigit as s,
  factorySpace as t,
  markdownLineEnding as u,
  stringify as v,
  ok as w,
  svg as x,
  stringify$1 as y
};
