import { lJ as e, lz as t, lI as n } from "./ant-design-icons-6bfdc7d5.js";
import { c as r, g as i } from "./alasql-f60045ee.js";
import { f as o, m as s, s as a, b as c, c as l, p as u, r as p, l as f, a as h, d, e as m, h as y, t as g, g as v, i as x, j as b, k, n as w, o as E, q as I, u as S, v as A, w as N, x as T, y as _, z as P, A as C, B as j, C as O, D, E as F, F as z, G as L, H as R, I as B } from "./remark-gfm-18306abe.js";
import { b as H, d as U, s as M, a as V, p as q } from "./rehype-raw-6ebcba88.js";
import { s as $, h as J, b as Q, c as K, d as G, e as W } from "./parse5-f837f753.js";
import "react";
import "./buffer-d3713d77.js";
const Y = /^[$_\p{ID_Start}][$_\u{200C}\u{200D}\p{ID_Continue}]*$/u, X = /^[$_\p{ID_Start}][-$_\u{200C}\u{200D}\p{ID_Continue}]*$/u, Z = {};
function ee(e3, t2) {
  return ((t2 || Z).jsx ? X : Y).test(e3);
}
const te = /[ \t\n\f\r]/g;
function ne(e3) {
  return "" === e3.replace(te, "");
}
var re = {}, ie = /\/\*[^*]*\*+([^/*][^*]*\*+)*\//g, oe = /\n/g, se = /^\s*/, ae = /^(\*?[-#/*\\\w]+(\[[0-9a-z_-]+\])?)\s*/, ce = /^:\s*/, le = /^((?:'(?:\\'|.)*?'|"(?:\\"|.)*?"|\([^)]*?\)|[^};])+)/, ue = /^[;\s]*/, pe = /^\s+|\s+$/g, fe = "";
function he(e3) {
  return e3 ? e3.replace(pe, fe) : fe;
}
var de = r && r.__importDefault || function(e3) {
  return e3 && e3.__esModule ? e3 : { default: e3 };
};
Object.defineProperty(re, "__esModule", { value: true });
var me = re.default = function(e3, t2) {
  var n2 = null;
  if (!e3 || "string" != typeof e3)
    return n2;
  var r2 = (0, ye.default)(e3), i2 = "function" == typeof t2;
  return r2.forEach(function(e4) {
    if ("declaration" === e4.type) {
      var r3 = e4.property, o2 = e4.value;
      i2 ? t2(r3, o2, e4) : o2 && ((n2 = n2 || {})[r3] = o2);
    }
  }), n2;
}, ye = de(function(e3, t2) {
  if ("string" != typeof e3)
    throw new TypeError("First argument must be a string");
  if (!e3)
    return [];
  t2 = t2 || {};
  var n2 = 1, r2 = 1;
  function i2(e4) {
    var t3 = e4.match(oe);
    t3 && (n2 += t3.length);
    var i3 = e4.lastIndexOf("\n");
    r2 = ~i3 ? e4.length - i3 : r2 + e4.length;
  }
  function o2() {
    var e4 = { line: n2, column: r2 };
    return function(t3) {
      return t3.position = new s2(e4), l2(), t3;
    };
  }
  function s2(e4) {
    this.start = e4, this.end = { line: n2, column: r2 }, this.source = t2.source;
  }
  function a2(i3) {
    var o3 = new Error(t2.source + ":" + n2 + ":" + r2 + ": " + i3);
    if (o3.reason = i3, o3.filename = t2.source, o3.line = n2, o3.column = r2, o3.source = e3, !t2.silent)
      throw o3;
  }
  function c2(t3) {
    var n3 = t3.exec(e3);
    if (n3) {
      var r3 = n3[0];
      return i2(r3), e3 = e3.slice(r3.length), n3;
    }
  }
  function l2() {
    c2(se);
  }
  function u2(e4) {
    var t3;
    for (e4 = e4 || []; t3 = p2(); )
      false !== t3 && e4.push(t3);
    return e4;
  }
  function p2() {
    var t3 = o2();
    if ("/" == e3.charAt(0) && "*" == e3.charAt(1)) {
      for (var n3 = 2; fe != e3.charAt(n3) && ("*" != e3.charAt(n3) || "/" != e3.charAt(n3 + 1)); )
        ++n3;
      if (n3 += 2, fe === e3.charAt(n3 - 1))
        return a2("End of comment missing");
      var s3 = e3.slice(2, n3 - 2);
      return r2 += 2, i2(s3), e3 = e3.slice(n3), r2 += 2, t3({ type: "comment", comment: s3 });
    }
  }
  function f2() {
    var e4 = o2(), t3 = c2(ae);
    if (t3) {
      if (p2(), !c2(ce))
        return a2("property missing ':'");
      var n3 = c2(le), r3 = e4({ type: "declaration", property: he(t3[0].replace(ie, fe)), value: n3 ? he(n3[0].replace(ie, fe)) : fe });
      return c2(ue), r3;
    }
  }
  return s2.prototype.content = e3, l2(), function() {
    var e4, t3 = [];
    for (u2(t3); e4 = f2(); )
      false !== e4 && (t3.push(e4), u2(t3));
    return t3;
  }();
});
const ge = me.default || me;
function ve(e3) {
  return be(e3 && e3.line) + ":" + be(e3 && e3.column);
}
function xe(e3) {
  return ve(e3 && e3.start) + "-" + ve(e3 && e3.end);
}
function be(e3) {
  return e3 && "number" == typeof e3 ? e3 : 1;
}
class ke extends Error {
  constructor(e3, t2, n2) {
    super(), "string" == typeof t2 && (n2 = t2, t2 = void 0);
    let r2 = "", i2 = {}, o2 = false;
    if (t2 && (i2 = "line" in t2 && "column" in t2 || "start" in t2 && "end" in t2 ? { place: t2 } : "type" in t2 ? { ancestors: [t2], place: t2.position } : { ...t2 }), "string" == typeof e3 ? r2 = e3 : !i2.cause && e3 && (o2 = true, r2 = e3.message, i2.cause = e3), !i2.ruleId && !i2.source && "string" == typeof n2) {
      const e4 = n2.indexOf(":");
      -1 === e4 ? i2.ruleId = n2 : (i2.source = n2.slice(0, e4), i2.ruleId = n2.slice(e4 + 1));
    }
    if (!i2.place && i2.ancestors && i2.ancestors) {
      const e4 = i2.ancestors[i2.ancestors.length - 1];
      e4 && (i2.place = e4.position);
    }
    const s2 = i2.place && "start" in i2.place ? i2.place.start : i2.place;
    var a2;
    this.ancestors = i2.ancestors || void 0, this.cause = i2.cause || void 0, this.column = s2 ? s2.column : void 0, this.fatal = void 0, this.message = r2, this.line = s2 ? s2.line : void 0, this.name = ((a2 = i2.place) && "object" == typeof a2 ? "position" in a2 || "type" in a2 ? xe(a2.position) : "start" in a2 || "end" in a2 ? xe(a2) : "line" in a2 || "column" in a2 ? ve(a2) : "" : "") || "1:1", this.place = i2.place || void 0, this.reason = this.message, this.ruleId = i2.ruleId || void 0, this.source = i2.source || void 0, this.stack = o2 && i2.cause && "string" == typeof i2.cause.stack ? i2.cause.stack : "";
  }
}
ke.prototype.file = "", ke.prototype.name = "", ke.prototype.reason = "", ke.prototype.message = "", ke.prototype.stack = "", ke.prototype.column = void 0, ke.prototype.line = void 0, ke.prototype.ancestors = void 0, ke.prototype.cause = void 0, ke.prototype.fatal = void 0, ke.prototype.place = void 0, ke.prototype.ruleId = void 0, ke.prototype.source = void 0;
const we = {}.hasOwnProperty, Ee = /* @__PURE__ */ new Map(), Ie = /[A-Z]/g, Se = /-([a-z])/g, Ae = /* @__PURE__ */ new Set(["table", "tbody", "thead", "tfoot", "tr"]), Ne = /* @__PURE__ */ new Set(["td", "th"]), Te = "https://github.com/syntax-tree/hast-util-to-jsx-runtime";
function _e(e3, t2) {
  if (!t2 || void 0 === t2.Fragment)
    throw new TypeError("Expected `Fragment` in options");
  const n2 = t2.filePath || void 0;
  let r2;
  if (t2.development) {
    if ("function" != typeof t2.jsxDEV)
      throw new TypeError("Expected `jsxDEV` in options when `development: true`");
    r2 = function(e4, t3) {
      return n3;
      function n3(n4, r3, i3, o3) {
        const s2 = Array.isArray(i3.children), a2 = H(n4);
        return t3(r3, i3, o3, s2, { columnNumber: a2 ? a2.column - 1 : void 0, fileName: e4, lineNumber: a2 ? a2.line : void 0 }, void 0);
      }
    }(n2, t2.jsxDEV);
  } else {
    if ("function" != typeof t2.jsx)
      throw new TypeError("Expected `jsx` in production options");
    if ("function" != typeof t2.jsxs)
      throw new TypeError("Expected `jsxs` in production options");
    r2 = function(e4, t3, n3) {
      return r3;
      function r3(e5, r4, i3, o3) {
        const s2 = Array.isArray(i3.children) ? n3 : t3;
        return o3 ? s2(r4, i3, o3) : s2(r4, i3);
      }
    }(0, t2.jsx, t2.jsxs);
  }
  const i2 = { Fragment: t2.Fragment, ancestors: [], components: t2.components || {}, create: r2, elementAttributeNameCase: t2.elementAttributeNameCase || "react", evaluater: t2.createEvaluater ? t2.createEvaluater() : void 0, filePath: n2, ignoreInvalidStyle: t2.ignoreInvalidStyle || false, passKeys: false !== t2.passKeys, passNode: t2.passNode || false, schema: "svg" === t2.space ? $ : J, stylePropertyNameCase: t2.stylePropertyNameCase || "dom", tableCellAlignToStyle: false !== t2.tableCellAlignToStyle }, o2 = Pe(i2, e3, void 0);
  return o2 && "string" != typeof o2 ? o2 : i2.create(e3, i2.Fragment, { children: o2 || void 0 }, void 0);
}
function Pe(e3, t2, n2) {
  return "element" === t2.type ? function(e4, t3, n3) {
    const r2 = e4.schema;
    let i2 = r2;
    "svg" === t3.tagName.toLowerCase() && "html" === r2.space && (i2 = $, e4.schema = i2);
    e4.ancestors.push(t3);
    const o2 = Fe(e4, t3.tagName, false), s2 = function(e5, t4) {
      const n4 = {};
      let r3, i3;
      for (i3 in t4.properties)
        if ("children" !== i3 && we.call(t4.properties, i3)) {
          const o3 = De(e5, i3, t4.properties[i3]);
          if (o3) {
            const [i4, s3] = o3;
            e5.tableCellAlignToStyle && "align" === i4 && "string" == typeof s3 && Ne.has(t4.tagName) ? r3 = s3 : n4[i4] = s3;
          }
        }
      if (r3) {
        (n4.style || (n4.style = {}))["css" === e5.stylePropertyNameCase ? "text-align" : "textAlign"] = r3;
      }
      return n4;
    }(e4, t3);
    let a2 = Oe(e4, t3);
    Ae.has(t3.tagName) && (a2 = a2.filter(function(e5) {
      return "string" != typeof e5 || !("object" == typeof (t4 = e5) ? "text" === t4.type && ne(t4.value) : ne(t4));
      var t4;
    }));
    return Ce(e4, s2, o2, t3), je(s2, a2), e4.ancestors.pop(), e4.schema = r2, e4.create(t3, o2, s2, n3);
  }(e3, t2, n2) : "mdxFlowExpression" === t2.type || "mdxTextExpression" === t2.type ? function(e4, t3) {
    if (t3.data && t3.data.estree && e4.evaluater) {
      const n3 = t3.data.estree.body[0];
      return e4.evaluater.evaluateExpression(n3.expression);
    }
    ze(e4, t3.position);
  }(e3, t2) : "mdxJsxFlowElement" === t2.type || "mdxJsxTextElement" === t2.type ? function(e4, t3, n3) {
    const r2 = e4.schema;
    let i2 = r2;
    "svg" === t3.name && "html" === r2.space && (i2 = $, e4.schema = i2);
    e4.ancestors.push(t3);
    const o2 = null === t3.name ? e4.Fragment : Fe(e4, t3.name, true), s2 = function(e5, t4) {
      const n4 = {};
      for (const r3 of t4.attributes)
        if ("mdxJsxExpressionAttribute" === r3.type)
          if (r3.data && r3.data.estree && e5.evaluater) {
            const t5 = r3.data.estree.body[0].expression.properties[0];
            Object.assign(n4, e5.evaluater.evaluateExpression(t5.argument));
          } else
            ze(e5, t4.position);
        else {
          const i3 = r3.name;
          let o3;
          if (r3.value && "object" == typeof r3.value)
            if (r3.value.data && r3.value.data.estree && e5.evaluater) {
              const t5 = r3.value.data.estree.body[0];
              o3 = e5.evaluater.evaluateExpression(t5.expression);
            } else
              ze(e5, t4.position);
          else
            o3 = null === r3.value || r3.value;
          n4[i3] = o3;
        }
      return n4;
    }(e4, t3), a2 = Oe(e4, t3);
    return Ce(e4, s2, o2, t3), je(s2, a2), e4.ancestors.pop(), e4.schema = r2, e4.create(t3, o2, s2, n3);
  }(e3, t2, n2) : "mdxjsEsm" === t2.type ? function(e4, t3) {
    if (t3.data && t3.data.estree && e4.evaluater)
      return e4.evaluater.evaluateProgram(t3.data.estree);
    ze(e4, t3.position);
  }(e3, t2) : "root" === t2.type ? function(e4, t3, n3) {
    const r2 = {};
    return je(r2, Oe(e4, t3)), e4.create(t3, e4.Fragment, r2, n3);
  }(e3, t2, n2) : "text" === t2.type ? function(e4, t3) {
    return t3.value;
  }(0, t2) : void 0;
}
function Ce(e3, t2, n2, r2) {
  "string" != typeof n2 && n2 !== e3.Fragment && e3.passNode && (t2.node = r2);
}
function je(e3, t2) {
  if (t2.length > 0) {
    const n2 = t2.length > 1 ? t2 : t2[0];
    n2 && (e3.children = n2);
  }
}
function Oe(e3, t2) {
  const n2 = [];
  let r2 = -1;
  const i2 = e3.passKeys ? /* @__PURE__ */ new Map() : Ee;
  for (; ++r2 < t2.children.length; ) {
    const o2 = t2.children[r2];
    let s2;
    if (e3.passKeys) {
      const e4 = "element" === o2.type ? o2.tagName : "mdxJsxFlowElement" === o2.type || "mdxJsxTextElement" === o2.type ? o2.name : void 0;
      if (e4) {
        const t3 = i2.get(e4) || 0;
        s2 = e4 + "-" + t3, i2.set(e4, t3 + 1);
      }
    }
    const a2 = Pe(e3, o2, s2);
    void 0 !== a2 && n2.push(a2);
  }
  return n2;
}
function De(e3, t2, n2) {
  const r2 = Q(e3.schema, t2);
  if (!(null == n2 || "number" == typeof n2 && Number.isNaN(n2))) {
    if (Array.isArray(n2) && (n2 = r2.commaSeparated ? K(n2) : G(n2)), "style" === r2.property) {
      let t3 = "object" == typeof n2 ? n2 : function(e4, t4) {
        const n3 = {};
        try {
          ge(t4, r3);
        } catch (t5) {
          if (!e4.ignoreInvalidStyle) {
            const n4 = t5, r4 = new ke("Cannot parse `style` attribute", { ancestors: e4.ancestors, cause: n4, ruleId: "style", source: "hast-util-to-jsx-runtime" });
            throw r4.file = e4.filePath || void 0, r4.url = Te + "#cannot-parse-style-attribute", r4;
          }
        }
        return n3;
        function r3(e5, t5) {
          let r4 = e5;
          "--" !== r4.slice(0, 2) && ("-ms-" === r4.slice(0, 4) && (r4 = "ms-" + r4.slice(4)), r4 = r4.replace(Se, Re)), n3[r4] = t5;
        }
      }(e3, String(n2));
      return "css" === e3.stylePropertyNameCase && (t3 = function(e4) {
        const t4 = {};
        let n3;
        for (n3 in e4)
          we.call(e4, n3) && (t4[Le(n3)] = e4[n3]);
        return t4;
      }(t3)), ["style", t3];
    }
    return ["react" === e3.elementAttributeNameCase && r2.space ? W[r2.property] || r2.property : r2.attribute, n2];
  }
}
function Fe(e3, t2, n2) {
  let r2;
  if (n2)
    if (t2.includes(".")) {
      const e4 = t2.split(".");
      let n3, i2 = -1;
      for (; ++i2 < e4.length; ) {
        const t3 = ee(e4[i2]) ? { type: "Identifier", name: e4[i2] } : { type: "Literal", value: e4[i2] };
        n3 = n3 ? { type: "MemberExpression", object: n3, property: t3, computed: Boolean(i2 && "Literal" === t3.type), optional: false } : t3;
      }
      r2 = n3;
    } else
      r2 = ee(t2) && !/^[a-z]/.test(t2) ? { type: "Identifier", name: t2 } : { type: "Literal", value: t2 };
  else
    r2 = { type: "Literal", value: t2 };
  if ("Literal" === r2.type) {
    const t3 = r2.value;
    return we.call(e3.components, t3) ? e3.components[t3] : t3;
  }
  if (e3.evaluater)
    return e3.evaluater.evaluateExpression(r2);
  ze(e3);
}
function ze(e3, t2) {
  const n2 = new ke("Cannot handle MDX estrees without `createEvaluater`", { ancestors: e3.ancestors, place: t2, ruleId: "mdx-estree", source: "hast-util-to-jsx-runtime" });
  throw n2.file = e3.filePath || void 0, n2.url = Te + "#cannot-handle-mdx-estrees-without-createevaluater", n2;
}
function Le(e3) {
  let t2 = e3.replace(Ie, Be);
  return "ms-" === t2.slice(0, 3) && (t2 = "-" + t2), t2;
}
function Re(e3, t2) {
  return t2.toUpperCase();
}
function Be(e3) {
  return "-" + e3.toLowerCase();
}
const He = { action: ["form"], cite: ["blockquote", "del", "ins", "q"], data: ["object"], formAction: ["button", "input"], href: ["a", "area", "base", "link"], icon: ["menuitem"], itemId: null, manifest: ["html"], ping: ["a", "area"], poster: ["video"], src: ["audio", "embed", "iframe", "img", "input", "script", "source", "track", "video"] }, Ue = { tokenize: function(e3) {
  const t2 = e3.attempt(this.parser.constructs.contentInitial, function(n3) {
    if (null === n3)
      return void e3.consume(n3);
    return e3.enter("lineEnding"), e3.consume(n3), e3.exit("lineEnding"), o(e3, t2, "linePrefix");
  }, function(t3) {
    return e3.enter("paragraph"), r2(t3);
  });
  let n2;
  return t2;
  function r2(t3) {
    const r3 = e3.enter("chunkText", { contentType: "text", previous: n2 });
    return n2 && (n2.next = r3), n2 = r3, i2(t3);
  }
  function i2(t3) {
    return null === t3 ? (e3.exit("chunkText"), e3.exit("paragraph"), void e3.consume(t3)) : s(t3) ? (e3.consume(t3), e3.exit("chunkText"), r2) : (e3.consume(t3), i2);
  }
} };
const Me = { tokenize: function(e3) {
  const t2 = this, n2 = [];
  let r2, i2, o2, c2 = 0;
  return l2;
  function l2(r3) {
    if (c2 < n2.length) {
      const i3 = n2[c2];
      return t2.containerState = i3[1], e3.attempt(i3[0].continuation, u2, p2)(r3);
    }
    return p2(r3);
  }
  function u2(e4) {
    if (c2++, t2.containerState._closeFlow) {
      t2.containerState._closeFlow = void 0, r2 && b2();
      const n3 = t2.events.length;
      let i3, o3 = n3;
      for (; o3--; )
        if ("exit" === t2.events[o3][0] && "chunkFlow" === t2.events[o3][1].type) {
          i3 = t2.events[o3][1].end;
          break;
        }
      x2(c2);
      let s2 = n3;
      for (; s2 < t2.events.length; )
        t2.events[s2][1].end = Object.assign({}, i3), s2++;
      return a(t2.events, o3 + 1, 0, t2.events.slice(n3)), t2.events.length = s2, p2(e4);
    }
    return l2(e4);
  }
  function p2(i3) {
    if (c2 === n2.length) {
      if (!r2)
        return d2(i3);
      if (r2.currentConstruct && r2.currentConstruct.concrete)
        return y2(i3);
      t2.interrupt = Boolean(r2.currentConstruct && !r2._gfmTableDynamicInterruptHack);
    }
    return t2.containerState = {}, e3.check(Ve, f2, h2)(i3);
  }
  function f2(e4) {
    return r2 && b2(), x2(c2), d2(e4);
  }
  function h2(e4) {
    return t2.parser.lazy[t2.now().line] = c2 !== n2.length, o2 = t2.now().offset, y2(e4);
  }
  function d2(n3) {
    return t2.containerState = {}, e3.attempt(Ve, m2, y2)(n3);
  }
  function m2(e4) {
    return c2++, n2.push([t2.currentConstruct, t2.containerState]), d2(e4);
  }
  function y2(n3) {
    return null === n3 ? (r2 && b2(), x2(0), void e3.consume(n3)) : (r2 = r2 || t2.parser.flow(t2.now()), e3.enter("chunkFlow", { contentType: "flow", previous: i2, _tokenizer: r2 }), g2(n3));
  }
  function g2(n3) {
    return null === n3 ? (v2(e3.exit("chunkFlow"), true), x2(0), void e3.consume(n3)) : s(n3) ? (e3.consume(n3), v2(e3.exit("chunkFlow")), c2 = 0, t2.interrupt = void 0, l2) : (e3.consume(n3), g2);
  }
  function v2(e4, n3) {
    const s2 = t2.sliceStream(e4);
    if (n3 && s2.push(null), e4.previous = i2, i2 && (i2.next = e4), i2 = e4, r2.defineSkip(e4.start), r2.write(s2), t2.parser.lazy[e4.start.line]) {
      let e5 = r2.events.length;
      for (; e5--; )
        if (r2.events[e5][1].start.offset < o2 && (!r2.events[e5][1].end || r2.events[e5][1].end.offset > o2))
          return;
      const n4 = t2.events.length;
      let i3, s3, l3 = n4;
      for (; l3--; )
        if ("exit" === t2.events[l3][0] && "chunkFlow" === t2.events[l3][1].type) {
          if (i3) {
            s3 = t2.events[l3][1].end;
            break;
          }
          i3 = true;
        }
      for (x2(c2), e5 = n4; e5 < t2.events.length; )
        t2.events[e5][1].end = Object.assign({}, s3), e5++;
      a(t2.events, l3 + 1, 0, t2.events.slice(n4)), t2.events.length = e5;
    }
  }
  function x2(r3) {
    let i3 = n2.length;
    for (; i3-- > r3; ) {
      const r4 = n2[i3];
      t2.containerState = r4[1], r4[0].exit.call(t2, e3);
    }
    n2.length = r3;
  }
  function b2() {
    r2.write([null]), i2 = void 0, r2 = void 0, t2.containerState._closeFlow = void 0;
  }
} }, Ve = { tokenize: function(e3, t2, n2) {
  return o(e3, e3.attempt(this.parser.constructs.document, t2, n2), "linePrefix", this.parser.constructs.disable.null.includes("codeIndented") ? void 0 : 4);
} };
const qe = { tokenize: function(e3) {
  const t2 = this, n2 = e3.attempt(c, function(r3) {
    if (null === r3)
      return void e3.consume(r3);
    return e3.enter("lineEndingBlank"), e3.consume(r3), e3.exit("lineEndingBlank"), t2.currentConstruct = void 0, n2;
  }, e3.attempt(this.parser.constructs.flowInitial, r2, o(e3, e3.attempt(this.parser.constructs.flow, r2, e3.attempt(l, r2)), "linePrefix")));
  return n2;
  function r2(r3) {
    if (null !== r3)
      return e3.enter("lineEnding"), e3.consume(r3), e3.exit("lineEnding"), t2.currentConstruct = void 0, n2;
    e3.consume(r3);
  }
} };
const $e = { resolveAll: Ge() }, Je = Ke("string"), Qe = Ke("text");
function Ke(e3) {
  return { tokenize: function(t2) {
    const n2 = this, r2 = this.parser.constructs[e3], i2 = t2.attempt(r2, o2, s2);
    return o2;
    function o2(e4) {
      return c2(e4) ? i2(e4) : s2(e4);
    }
    function s2(e4) {
      if (null !== e4)
        return t2.enter("data"), t2.consume(e4), a2;
      t2.consume(e4);
    }
    function a2(e4) {
      return c2(e4) ? (t2.exit("data"), i2(e4)) : (t2.consume(e4), a2);
    }
    function c2(e4) {
      if (null === e4)
        return true;
      const t3 = r2[e4];
      let i3 = -1;
      if (t3)
        for (; ++i3 < t3.length; ) {
          const e5 = t3[i3];
          if (!e5.previous || e5.previous.call(n2, n2.previous))
            return true;
        }
      return false;
    }
  }, resolveAll: Ge("text" === e3 ? We : void 0) };
}
function Ge(e3) {
  return function(t2, n2) {
    let r2, i2 = -1;
    for (; ++i2 <= t2.length; )
      void 0 === r2 ? t2[i2] && "data" === t2[i2][1].type && (r2 = i2, i2++) : t2[i2] && "data" === t2[i2][1].type || (i2 !== r2 + 2 && (t2[r2][1].end = t2[i2 - 1][1].end, t2.splice(r2 + 2, i2 - r2 - 2), i2 = r2 + 2), r2 = void 0);
    return e3 ? e3(t2, n2) : t2;
  };
}
function We(e3, t2) {
  let n2 = 0;
  for (; ++n2 <= e3.length; )
    if ((n2 === e3.length || "lineEnding" === e3[n2][1].type) && "data" === e3[n2 - 1][1].type) {
      const r2 = e3[n2 - 1][1], i2 = t2.sliceStream(r2);
      let o2, s2 = i2.length, a2 = -1, c2 = 0;
      for (; s2--; ) {
        const e4 = i2[s2];
        if ("string" == typeof e4) {
          for (a2 = e4.length; 32 === e4.charCodeAt(a2 - 1); )
            c2++, a2--;
          if (a2)
            break;
          a2 = -1;
        } else if (-2 === e4)
          o2 = true, c2++;
        else if (-1 !== e4) {
          s2++;
          break;
        }
      }
      if (c2) {
        const i3 = { type: n2 === e3.length || o2 || c2 < 2 ? "lineSuffix" : "hardBreakTrailing", start: { line: r2.end.line, column: r2.end.column - c2, offset: r2.end.offset - c2, _index: r2.start._index + s2, _bufferIndex: s2 ? a2 : r2.start._bufferIndex + a2 }, end: Object.assign({}, r2.end) };
        r2.end = Object.assign({}, i3.start), r2.start.offset === r2.end.offset ? Object.assign(r2, i3) : (e3.splice(n2, 0, ["enter", i3, t2], ["exit", i3, t2]), n2 += 2);
      }
      n2++;
    }
  return e3;
}
function Ye(e3, t2, n2) {
  let r2 = Object.assign(n2 ? Object.assign({}, n2) : { line: 1, column: 1, offset: 0 }, { _index: 0, _bufferIndex: -1 });
  const i2 = {}, o2 = [];
  let c2 = [], l2 = [];
  const f2 = { consume: function(e4) {
    s(e4) ? (r2.line++, r2.column = 1, r2.offset += -3 === e4 ? 2 : 1, w2()) : -1 !== e4 && (r2.column++, r2.offset++);
    r2._bufferIndex < 0 ? r2._index++ : (r2._bufferIndex++, r2._bufferIndex === c2[r2._index].length && (r2._bufferIndex = -1, r2._index++));
    h2.previous = e4;
  }, enter: function(e4, t3) {
    const n3 = t3 || {};
    return n3.type = e4, n3.start = y2(), h2.events.push(["enter", n3, h2]), l2.push(n3), n3;
  }, exit: function(e4) {
    const t3 = l2.pop();
    return t3.end = y2(), h2.events.push(["exit", t3, h2]), t3;
  }, attempt: b2(function(e4, t3) {
    k2(e4, t3.from);
  }), check: b2(x2), interrupt: b2(x2, { interrupt: true }) }, h2 = { previous: null, code: null, containerState: {}, events: [], parser: e3, sliceStream: m2, sliceSerialize: function(e4, t3) {
    return function(e5, t4) {
      let n3 = -1;
      const r3 = [];
      let i3;
      for (; ++n3 < e5.length; ) {
        const o3 = e5[n3];
        let s2;
        if ("string" == typeof o3)
          s2 = o3;
        else
          switch (o3) {
            case -5:
              s2 = "\r";
              break;
            case -4:
              s2 = "\n";
              break;
            case -3:
              s2 = "\r\n";
              break;
            case -2:
              s2 = t4 ? " " : "	";
              break;
            case -1:
              if (!t4 && i3)
                continue;
              s2 = " ";
              break;
            default:
              s2 = String.fromCharCode(o3);
          }
        i3 = -2 === o3, r3.push(s2);
      }
      return r3.join("");
    }(m2(e4), t3);
  }, now: y2, defineSkip: function(e4) {
    i2[e4.line] = e4.column, w2();
  }, write: function(e4) {
    if (c2 = u(c2, e4), g2(), null !== c2[c2.length - 1])
      return [];
    return k2(t2, 0), h2.events = p(o2, h2.events, h2), h2.events;
  } };
  let d2 = t2.tokenize.call(h2, f2);
  return t2.resolveAll && o2.push(t2), h2;
  function m2(e4) {
    return function(e5, t3) {
      const n3 = t3.start._index, r3 = t3.start._bufferIndex, i3 = t3.end._index, o3 = t3.end._bufferIndex;
      let s2;
      if (n3 === i3)
        s2 = [e5[n3].slice(r3, o3)];
      else {
        if (s2 = e5.slice(n3, i3), r3 > -1) {
          const e6 = s2[0];
          "string" == typeof e6 ? s2[0] = e6.slice(r3) : s2.shift();
        }
        o3 > 0 && s2.push(e5[i3].slice(0, o3));
      }
      return s2;
    }(c2, e4);
  }
  function y2() {
    const { line: e4, column: t3, offset: n3, _index: i3, _bufferIndex: o3 } = r2;
    return { line: e4, column: t3, offset: n3, _index: i3, _bufferIndex: o3 };
  }
  function g2() {
    let e4;
    for (; r2._index < c2.length; ) {
      const t3 = c2[r2._index];
      if ("string" == typeof t3)
        for (e4 = r2._index, r2._bufferIndex < 0 && (r2._bufferIndex = 0); r2._index === e4 && r2._bufferIndex < t3.length; )
          v2(t3.charCodeAt(r2._bufferIndex));
      else
        v2(t3);
    }
  }
  function v2(e4) {
    d2 = d2(e4);
  }
  function x2(e4, t3) {
    t3.restore();
  }
  function b2(e4, t3) {
    return function(n3, i3, o3) {
      let s2, a2, c3, u2;
      return Array.isArray(n3) ? p2(n3) : "tokenize" in n3 ? p2([n3]) : function(e5) {
        return t4;
        function t4(t5) {
          const n4 = null !== t5 && e5[t5], r3 = null !== t5 && e5.null;
          return p2([...Array.isArray(n4) ? n4 : n4 ? [n4] : [], ...Array.isArray(r3) ? r3 : r3 ? [r3] : []])(t5);
        }
      }(n3);
      function p2(e5) {
        return s2 = e5, a2 = 0, 0 === e5.length ? o3 : d3(e5[a2]);
      }
      function d3(e5) {
        return function(n4) {
          u2 = function() {
            const e6 = y2(), t4 = h2.previous, n5 = h2.currentConstruct, i4 = h2.events.length, o4 = Array.from(l2);
            return { restore: s3, from: i4 };
            function s3() {
              r2 = e6, h2.previous = t4, h2.currentConstruct = n5, h2.events.length = i4, l2 = o4, w2();
            }
          }(), c3 = e5, e5.partial || (h2.currentConstruct = e5);
          if (e5.name && h2.parser.constructs.disable.null.includes(e5.name))
            return g3();
          return e5.tokenize.call(t3 ? Object.assign(Object.create(h2), t3) : h2, f2, m3, g3)(n4);
        };
      }
      function m3(t4) {
        return e4(c3, u2), i3;
      }
      function g3(e5) {
        return u2.restore(), ++a2 < s2.length ? d3(s2[a2]) : o3;
      }
    };
  }
  function k2(e4, t3) {
    e4.resolveAll && !o2.includes(e4) && o2.push(e4), e4.resolve && a(h2.events, t3, h2.events.length - t3, e4.resolve(h2.events.slice(t3), h2)), e4.resolveTo && (h2.events = e4.resolveTo(h2.events, h2));
  }
  function w2() {
    r2.line in i2 && r2.column < 2 && (r2.column = i2[r2.line], r2.offset += i2[r2.line] - 1);
  }
}
const Xe = { 42: f, 43: f, 45: f, 48: f, 49: f, 50: f, 51: f, 52: f, 53: f, 54: f, 55: f, 56: f, 57: f, 62: h }, Ze = { 91: d }, et = { [-2]: m, [-1]: m, 32: m }, tt = { 35: y, 42: g, 45: [v, g], 60: x, 61: v, 95: g, 96: b, 126: b }, nt = { 38: k, 92: w }, rt = { [-5]: E, [-4]: E, [-3]: E, 33: I, 38: k, 42: S, 60: [A, N], 91: T, 92: [_, w], 93: P, 95: S, 96: C }, it = { null: [S, $e] }, ot = Object.freeze(Object.defineProperty({ __proto__: null, attentionMarkers: { null: [42, 95] }, contentInitial: Ze, disable: { null: [] }, document: Xe, flow: tt, flowInitial: et, insideSpan: it, string: nt, text: rt }, Symbol.toStringTag, { value: "Module" }));
const st = /[\0\t\n\r]/g;
function at(e3) {
  return e3 && "object" == typeof e3 ? "position" in e3 || "type" in e3 ? lt(e3.position) : "start" in e3 || "end" in e3 ? lt(e3) : "line" in e3 || "column" in e3 ? ct(e3) : "" : "";
}
function ct(e3) {
  return ut(e3 && e3.line) + ":" + ut(e3 && e3.column);
}
function lt(e3) {
  return ct(e3 && e3.start) + "-" + ct(e3 && e3.end);
}
function ut(e3) {
  return e3 && "number" == typeof e3 ? e3 : 1;
}
const pt = {}.hasOwnProperty;
function ft(e3, t2, n2) {
  return "string" != typeof t2 && (n2 = t2, t2 = void 0), function(e4) {
    const t3 = { transforms: [], canContainEols: ["emphasis", "fragment", "heading", "paragraph", "strong"], enter: { autolink: o2(se2), autolinkProtocol: S2, autolinkEmail: S2, atxHeading: o2(ne2), blockQuote: o2(Y2), characterEscape: S2, characterReference: S2, codeFenced: o2(X2), codeFencedFenceInfo: s2, codeFencedFenceMeta: s2, codeIndented: o2(X2, s2), codeText: o2(Z2, s2), codeTextData: S2, data: S2, codeFlowValue: S2, definition: o2(ee2), definitionDestinationString: s2, definitionLabelString: s2, definitionTitleString: s2, emphasis: o2(te2), hardBreakEscape: o2(re2), hardBreakTrailing: o2(re2), htmlFlow: o2(ie2, s2), htmlFlowData: S2, htmlText: o2(ie2, s2), htmlTextData: S2, image: o2(oe2), label: s2, link: o2(se2), listItem: o2(ce2), listItemValue: f2, listOrdered: o2(ae2, p2), listUnordered: o2(ae2), paragraph: o2(le2), reference: q2, referenceString: s2, resourceDestinationString: s2, resourceTitleString: s2, setextHeading: o2(ne2), strong: o2(ue2), thematicBreak: o2(fe2) }, exit: { atxHeading: c2(), atxHeadingSequence: k2, autolink: c2(), autolinkEmail: W2, autolinkProtocol: G2, blockQuote: c2(), characterEscapeValue: A2, characterReferenceMarkerHexadecimal: J2, characterReferenceMarkerNumeric: J2, characterReferenceValue: Q2, characterReference: K2, codeFenced: c2(y2), codeFencedFence: m2, codeFencedFenceInfo: h2, codeFencedFenceMeta: d2, codeFlowValue: A2, codeIndented: c2(g2), codeText: c2(C2), codeTextData: A2, data: A2, definition: c2(), definitionDestinationString: b2, definitionLabelString: v2, definitionTitleString: x2, emphasis: c2(), hardBreakEscape: c2(T2), hardBreakTrailing: c2(T2), htmlFlow: c2(_2), htmlFlowData: A2, htmlText: c2(P2), htmlTextData: A2, image: c2(O2), label: H2, labelText: B2, lineEnding: N2, link: c2(j2), listItem: c2(), listOrdered: c2(), listUnordered: c2(), paragraph: c2(), referenceString: $2, resourceDestinationString: U2, resourceTitleString: M2, resource: V2, setextHeading: c2(I2), setextHeadingLineSequence: E2, setextHeadingText: w2, strong: c2(), thematicBreak: c2() } };
    dt(t3, (e4 || {}).mdastExtensions || []);
    const n3 = {};
    return r2;
    function r2(e5) {
      let r3 = { type: "root", children: [] };
      const o3 = { stack: [r3], tokenStack: [], config: t3, enter: a2, exit: l2, buffer: s2, resume: u2, data: n3 }, c3 = [];
      let p3 = -1;
      for (; ++p3 < e5.length; )
        if ("listOrdered" === e5[p3][1].type || "listUnordered" === e5[p3][1].type)
          if ("enter" === e5[p3][0])
            c3.push(p3);
          else {
            p3 = i2(e5, c3.pop(), p3);
          }
      for (p3 = -1; ++p3 < e5.length; ) {
        const n4 = t3[e5[p3][0]];
        pt.call(n4, e5[p3][1].type) && n4[e5[p3][1].type].call(Object.assign({ sliceSerialize: e5[p3][2].sliceSerialize }, o3), e5[p3][1]);
      }
      if (o3.tokenStack.length > 0) {
        const e6 = o3.tokenStack[o3.tokenStack.length - 1];
        (e6[1] || yt).call(o3, void 0, e6[0]);
      }
      for (r3.position = { start: ht(e5.length > 0 ? e5[0][1].start : { line: 1, column: 1, offset: 0 }), end: ht(e5.length > 0 ? e5[e5.length - 2][1].end : { line: 1, column: 1, offset: 0 }) }, p3 = -1; ++p3 < t3.transforms.length; )
        r3 = t3.transforms[p3](r3) || r3;
      return r3;
    }
    function i2(e5, t4, n4) {
      let r3, i3, o3, s3, a3 = t4 - 1, c3 = -1, l3 = false;
      for (; ++a3 <= n4; ) {
        const t5 = e5[a3];
        switch (t5[1].type) {
          case "listUnordered":
          case "listOrdered":
          case "blockQuote":
            "enter" === t5[0] ? c3++ : c3--, s3 = void 0;
            break;
          case "lineEndingBlank":
            "enter" === t5[0] && (!r3 || s3 || c3 || o3 || (o3 = a3), s3 = void 0);
            break;
          case "linePrefix":
          case "listItemValue":
          case "listItemMarker":
          case "listItemPrefix":
          case "listItemPrefixWhitespace":
            break;
          default:
            s3 = void 0;
        }
        if (!c3 && "enter" === t5[0] && "listItemPrefix" === t5[1].type || -1 === c3 && "exit" === t5[0] && ("listUnordered" === t5[1].type || "listOrdered" === t5[1].type)) {
          if (r3) {
            let s4 = a3;
            for (i3 = void 0; s4--; ) {
              const t6 = e5[s4];
              if ("lineEnding" === t6[1].type || "lineEndingBlank" === t6[1].type) {
                if ("exit" === t6[0])
                  continue;
                i3 && (e5[i3][1].type = "lineEndingBlank", l3 = true), t6[1].type = "lineEnding", i3 = s4;
              } else if ("linePrefix" !== t6[1].type && "blockQuotePrefix" !== t6[1].type && "blockQuotePrefixWhitespace" !== t6[1].type && "blockQuoteMarker" !== t6[1].type && "listItemIndent" !== t6[1].type)
                break;
            }
            o3 && (!i3 || o3 < i3) && (r3._spread = true), r3.end = Object.assign({}, i3 ? e5[i3][1].start : t5[1].end), e5.splice(i3 || a3, 0, ["exit", r3, t5[2]]), a3++, n4++;
          }
          if ("listItemPrefix" === t5[1].type) {
            const i4 = { type: "listItem", _spread: false, start: Object.assign({}, t5[1].start), end: void 0 };
            r3 = i4, e5.splice(a3, 0, ["enter", i4, t5[2]]), a3++, n4++, o3 = void 0, s3 = true;
          }
        }
      }
      return e5[t4][1]._spread = l3, n4;
    }
    function o2(e5, t4) {
      return n4;
      function n4(n5) {
        a2.call(this, e5(n5), n5), t4 && t4.call(this, n5);
      }
    }
    function s2() {
      this.stack.push({ type: "fragment", children: [] });
    }
    function a2(e5, t4, n4) {
      this.stack[this.stack.length - 1].children.push(e5), this.stack.push(e5), this.tokenStack.push([t4, n4]), e5.position = { start: ht(t4.start), end: void 0 };
    }
    function c2(e5) {
      return t4;
      function t4(t5) {
        e5 && e5.call(this, t5), l2.call(this, t5);
      }
    }
    function l2(e5, t4) {
      const n4 = this.stack.pop(), r3 = this.tokenStack.pop();
      if (!r3)
        throw new Error("Cannot close `" + e5.type + "` (" + at({ start: e5.start, end: e5.end }) + "): it’s not open");
      if (r3[0].type !== e5.type)
        if (t4)
          t4.call(this, e5, r3[0]);
        else {
          (r3[1] || yt).call(this, e5, r3[0]);
        }
      n4.position.end = ht(e5.end);
    }
    function u2() {
      return D(this.stack.pop());
    }
    function p2() {
      this.data.expectingFirstListItemValue = true;
    }
    function f2(e5) {
      if (this.data.expectingFirstListItemValue) {
        this.stack[this.stack.length - 2].start = Number.parseInt(this.sliceSerialize(e5), 10), this.data.expectingFirstListItemValue = void 0;
      }
    }
    function h2() {
      const e5 = this.resume();
      this.stack[this.stack.length - 1].lang = e5;
    }
    function d2() {
      const e5 = this.resume();
      this.stack[this.stack.length - 1].meta = e5;
    }
    function m2() {
      this.data.flowCodeInside || (this.buffer(), this.data.flowCodeInside = true);
    }
    function y2() {
      const e5 = this.resume();
      this.stack[this.stack.length - 1].value = e5.replace(/^(\r?\n|\r)|(\r?\n|\r)$/g, ""), this.data.flowCodeInside = void 0;
    }
    function g2() {
      const e5 = this.resume();
      this.stack[this.stack.length - 1].value = e5.replace(/(\r?\n|\r)$/g, "");
    }
    function v2(e5) {
      const t4 = this.resume(), n4 = this.stack[this.stack.length - 1];
      n4.label = t4, n4.identifier = F(this.sliceSerialize(e5)).toLowerCase();
    }
    function x2() {
      const e5 = this.resume();
      this.stack[this.stack.length - 1].title = e5;
    }
    function b2() {
      const e5 = this.resume();
      this.stack[this.stack.length - 1].url = e5;
    }
    function k2(e5) {
      const t4 = this.stack[this.stack.length - 1];
      if (!t4.depth) {
        const n4 = this.sliceSerialize(e5).length;
        t4.depth = n4;
      }
    }
    function w2() {
      this.data.setextHeadingSlurpLineEnding = true;
    }
    function E2(e5) {
      this.stack[this.stack.length - 1].depth = 61 === this.sliceSerialize(e5).codePointAt(0) ? 1 : 2;
    }
    function I2() {
      this.data.setextHeadingSlurpLineEnding = void 0;
    }
    function S2(e5) {
      const t4 = this.stack[this.stack.length - 1].children;
      let n4 = t4[t4.length - 1];
      n4 && "text" === n4.type || (n4 = pe2(), n4.position = { start: ht(e5.start), end: void 0 }, t4.push(n4)), this.stack.push(n4);
    }
    function A2(e5) {
      const t4 = this.stack.pop();
      t4.value += this.sliceSerialize(e5), t4.position.end = ht(e5.end);
    }
    function N2(e5) {
      const n4 = this.stack[this.stack.length - 1];
      if (this.data.atHardBreak) {
        return n4.children[n4.children.length - 1].position.end = ht(e5.end), void (this.data.atHardBreak = void 0);
      }
      !this.data.setextHeadingSlurpLineEnding && t3.canContainEols.includes(n4.type) && (S2.call(this, e5), A2.call(this, e5));
    }
    function T2() {
      this.data.atHardBreak = true;
    }
    function _2() {
      const e5 = this.resume();
      this.stack[this.stack.length - 1].value = e5;
    }
    function P2() {
      const e5 = this.resume();
      this.stack[this.stack.length - 1].value = e5;
    }
    function C2() {
      const e5 = this.resume();
      this.stack[this.stack.length - 1].value = e5;
    }
    function j2() {
      const e5 = this.stack[this.stack.length - 1];
      if (this.data.inReference) {
        const t4 = this.data.referenceType || "shortcut";
        e5.type += "Reference", e5.referenceType = t4, delete e5.url, delete e5.title;
      } else
        delete e5.identifier, delete e5.label;
      this.data.referenceType = void 0;
    }
    function O2() {
      const e5 = this.stack[this.stack.length - 1];
      if (this.data.inReference) {
        const t4 = this.data.referenceType || "shortcut";
        e5.type += "Reference", e5.referenceType = t4, delete e5.url, delete e5.title;
      } else
        delete e5.identifier, delete e5.label;
      this.data.referenceType = void 0;
    }
    function B2(e5) {
      const t4 = this.sliceSerialize(e5), n4 = this.stack[this.stack.length - 2];
      n4.label = z(t4), n4.identifier = F(t4).toLowerCase();
    }
    function H2() {
      const e5 = this.stack[this.stack.length - 1], t4 = this.resume(), n4 = this.stack[this.stack.length - 1];
      if (this.data.inReference = true, "link" === n4.type) {
        const t5 = e5.children;
        n4.children = t5;
      } else
        n4.alt = t4;
    }
    function U2() {
      const e5 = this.resume();
      this.stack[this.stack.length - 1].url = e5;
    }
    function M2() {
      const e5 = this.resume();
      this.stack[this.stack.length - 1].title = e5;
    }
    function V2() {
      this.data.inReference = void 0;
    }
    function q2() {
      this.data.referenceType = "collapsed";
    }
    function $2(e5) {
      const t4 = this.resume(), n4 = this.stack[this.stack.length - 1];
      n4.label = t4, n4.identifier = F(this.sliceSerialize(e5)).toLowerCase(), this.data.referenceType = "full";
    }
    function J2(e5) {
      this.data.characterReferenceType = e5.type;
    }
    function Q2(e5) {
      const t4 = this.sliceSerialize(e5), n4 = this.data.characterReferenceType;
      let r3;
      if (n4)
        r3 = R(t4, "characterReferenceMarkerNumeric" === n4 ? 10 : 16), this.data.characterReferenceType = void 0;
      else {
        r3 = L(t4);
      }
      this.stack[this.stack.length - 1].value += r3;
    }
    function K2(e5) {
      this.stack.pop().position.end = ht(e5.end);
    }
    function G2(e5) {
      A2.call(this, e5);
      this.stack[this.stack.length - 1].url = this.sliceSerialize(e5);
    }
    function W2(e5) {
      A2.call(this, e5);
      this.stack[this.stack.length - 1].url = "mailto:" + this.sliceSerialize(e5);
    }
    function Y2() {
      return { type: "blockquote", children: [] };
    }
    function X2() {
      return { type: "code", lang: null, meta: null, value: "" };
    }
    function Z2() {
      return { type: "inlineCode", value: "" };
    }
    function ee2() {
      return { type: "definition", identifier: "", label: null, title: null, url: "" };
    }
    function te2() {
      return { type: "emphasis", children: [] };
    }
    function ne2() {
      return { type: "heading", depth: 0, children: [] };
    }
    function re2() {
      return { type: "break" };
    }
    function ie2() {
      return { type: "html", value: "" };
    }
    function oe2() {
      return { type: "image", title: null, url: "", alt: null };
    }
    function se2() {
      return { type: "link", title: null, url: "", children: [] };
    }
    function ae2(e5) {
      return { type: "list", ordered: "listOrdered" === e5.type, start: null, spread: e5._spread, children: [] };
    }
    function ce2(e5) {
      return { type: "listItem", spread: e5._spread, checked: null, children: [] };
    }
    function le2() {
      return { type: "paragraph", children: [] };
    }
    function ue2() {
      return { type: "strong", children: [] };
    }
    function pe2() {
      return { type: "text", value: "" };
    }
    function fe2() {
      return { type: "thematicBreak" };
    }
  }(n2)(function(e4) {
    for (; !O(e4); )
      ;
    return e4;
  }(function(e4) {
    const t3 = { defined: [], lazy: {}, constructs: j([ot, ...(e4 || {}).extensions || []]), content: n3(Ue), document: n3(Me), flow: n3(qe), string: n3(Je), text: n3(Qe) };
    return t3;
    function n3(e5) {
      return function(n4) {
        return Ye(t3, e5, n4);
      };
    }
  }(n2).document().write(function() {
    let e4, t3 = 1, n3 = "", r2 = true;
    return function(i2, o2, s2) {
      const a2 = [];
      let c2, l2, u2, p2, f2;
      for (i2 = n3 + ("string" == typeof i2 ? i2.toString() : new TextDecoder(o2 || void 0).decode(i2)), u2 = 0, n3 = "", r2 && (65279 === i2.charCodeAt(0) && u2++, r2 = void 0); u2 < i2.length; ) {
        if (st.lastIndex = u2, c2 = st.exec(i2), p2 = c2 && void 0 !== c2.index ? c2.index : i2.length, f2 = i2.charCodeAt(p2), !c2) {
          n3 = i2.slice(u2);
          break;
        }
        if (10 === f2 && u2 === p2 && e4)
          a2.push(-3), e4 = void 0;
        else
          switch (e4 && (a2.push(-5), e4 = void 0), u2 < p2 && (a2.push(i2.slice(u2, p2)), t3 += p2 - u2), f2) {
            case 0:
              a2.push(65533), t3++;
              break;
            case 9:
              for (l2 = 4 * Math.ceil(t3 / 4), a2.push(-2); t3++ < l2; )
                a2.push(-1);
              break;
            case 10:
              a2.push(-4), t3 = 1;
              break;
            default:
              e4 = true, t3 = 1;
          }
        u2 = p2 + 1;
      }
      return s2 && (e4 && a2.push(-5), n3 && a2.push(n3), a2.push(null)), a2;
    };
  }()(e3, t2, true))));
}
function ht(e3) {
  return { line: e3.line, column: e3.column, offset: e3.offset };
}
function dt(e3, t2) {
  let n2 = -1;
  for (; ++n2 < t2.length; ) {
    const r2 = t2[n2];
    Array.isArray(r2) ? dt(e3, r2) : mt(e3, r2);
  }
}
function mt(e3, t2) {
  let n2;
  for (n2 in t2)
    if (pt.call(t2, n2))
      switch (n2) {
        case "canContainEols": {
          const r2 = t2[n2];
          r2 && e3[n2].push(...r2);
          break;
        }
        case "transforms": {
          const r2 = t2[n2];
          r2 && e3[n2].push(...r2);
          break;
        }
        case "enter":
        case "exit": {
          const r2 = t2[n2];
          r2 && Object.assign(e3[n2], r2);
          break;
        }
      }
}
function yt(e3, t2) {
  throw e3 ? new Error("Cannot close `" + e3.type + "` (" + at({ start: e3.start, end: e3.end }) + "): a different token (`" + t2.type + "`, " + at({ start: t2.start, end: t2.end }) + ") is open") : new Error("Cannot close document, a token (`" + t2.type + "`, " + at({ start: t2.start, end: t2.end }) + ") is still open");
}
function gt(e3) {
  const t2 = this;
  t2.parser = function(n2) {
    return ft(n2, { ...t2.data("settings"), ...e3, extensions: t2.data("micromarkExtensions") || [], mdastExtensions: t2.data("fromMarkdownExtensions") || [] });
  };
}
function vt(e3, t2) {
  const n2 = t2.referenceType;
  let r2 = "]";
  if ("collapsed" === n2 ? r2 += "[]" : "full" === n2 && (r2 += "[" + (t2.label || t2.identifier) + "]"), "imageReference" === t2.type)
    return [{ type: "text", value: "![" + t2.alt + r2 }];
  const i2 = e3.all(t2), o2 = i2[0];
  o2 && "text" === o2.type ? o2.value = "[" + o2.value : i2.unshift({ type: "text", value: "[" });
  const s2 = i2[i2.length - 1];
  return s2 && "text" === s2.type ? s2.value += r2 : i2.push({ type: "text", value: r2 }), i2;
}
function xt(e3) {
  const t2 = e3.spread;
  return null == t2 ? e3.children.length > 1 : t2;
}
const bt = 9, kt = 32;
function wt(e3) {
  const t2 = String(e3), n2 = /\r?\n|\r/g;
  let r2 = n2.exec(t2), i2 = 0;
  const o2 = [];
  for (; r2; )
    o2.push(Et(t2.slice(i2, r2.index), i2 > 0, true), r2[0]), i2 = r2.index + r2[0].length, r2 = n2.exec(t2);
  return o2.push(Et(t2.slice(i2), i2 > 0, false)), o2.join("");
}
function Et(e3, t2, n2) {
  let r2 = 0, i2 = e3.length;
  if (t2) {
    let t3 = e3.codePointAt(r2);
    for (; t3 === bt || t3 === kt; )
      r2++, t3 = e3.codePointAt(r2);
  }
  if (n2) {
    let t3 = e3.codePointAt(i2 - 1);
    for (; t3 === bt || t3 === kt; )
      i2--, t3 = e3.codePointAt(i2 - 1);
  }
  return i2 > r2 ? e3.slice(r2, i2) : "";
}
const It = { blockquote: function(e3, t2) {
  const n2 = { type: "element", tagName: "blockquote", properties: {}, children: e3.wrap(e3.all(t2), true) };
  return e3.patch(t2, n2), e3.applyData(t2, n2);
}, break: function(e3, t2) {
  const n2 = { type: "element", tagName: "br", properties: {}, children: [] };
  return e3.patch(t2, n2), [e3.applyData(t2, n2), { type: "text", value: "\n" }];
}, code: function(e3, t2) {
  const n2 = t2.value ? t2.value + "\n" : "", r2 = {};
  t2.lang && (r2.className = ["language-" + t2.lang]);
  let i2 = { type: "element", tagName: "code", properties: r2, children: [{ type: "text", value: n2 }] };
  return t2.meta && (i2.data = { meta: t2.meta }), e3.patch(t2, i2), i2 = e3.applyData(t2, i2), i2 = { type: "element", tagName: "pre", properties: {}, children: [i2] }, e3.patch(t2, i2), i2;
}, delete: function(e3, t2) {
  const n2 = { type: "element", tagName: "del", properties: {}, children: e3.all(t2) };
  return e3.patch(t2, n2), e3.applyData(t2, n2);
}, emphasis: function(e3, t2) {
  const n2 = { type: "element", tagName: "em", properties: {}, children: e3.all(t2) };
  return e3.patch(t2, n2), e3.applyData(t2, n2);
}, footnoteReference: function(e3, t2) {
  const n2 = "string" == typeof e3.options.clobberPrefix ? e3.options.clobberPrefix : "user-content-", r2 = String(t2.identifier).toUpperCase(), i2 = B(r2.toLowerCase()), o2 = e3.footnoteOrder.indexOf(r2);
  let s2, a2 = e3.footnoteCounts.get(r2);
  void 0 === a2 ? (a2 = 0, e3.footnoteOrder.push(r2), s2 = e3.footnoteOrder.length) : s2 = o2 + 1, a2 += 1, e3.footnoteCounts.set(r2, a2);
  const c2 = { type: "element", tagName: "a", properties: { href: "#" + n2 + "fn-" + i2, id: n2 + "fnref-" + i2 + (a2 > 1 ? "-" + a2 : ""), dataFootnoteRef: true, ariaDescribedBy: ["footnote-label"] }, children: [{ type: "text", value: String(s2) }] };
  e3.patch(t2, c2);
  const l2 = { type: "element", tagName: "sup", properties: {}, children: [c2] };
  return e3.patch(t2, l2), e3.applyData(t2, l2);
}, heading: function(e3, t2) {
  const n2 = { type: "element", tagName: "h" + t2.depth, properties: {}, children: e3.all(t2) };
  return e3.patch(t2, n2), e3.applyData(t2, n2);
}, html: function(e3, t2) {
  if (e3.options.allowDangerousHtml) {
    const n2 = { type: "raw", value: t2.value };
    return e3.patch(t2, n2), e3.applyData(t2, n2);
  }
}, imageReference: function(e3, t2) {
  const n2 = String(t2.identifier).toUpperCase(), r2 = e3.definitionById.get(n2);
  if (!r2)
    return vt(e3, t2);
  const i2 = { src: B(r2.url || ""), alt: t2.alt };
  null !== r2.title && void 0 !== r2.title && (i2.title = r2.title);
  const o2 = { type: "element", tagName: "img", properties: i2, children: [] };
  return e3.patch(t2, o2), e3.applyData(t2, o2);
}, image: function(e3, t2) {
  const n2 = { src: B(t2.url) };
  null !== t2.alt && void 0 !== t2.alt && (n2.alt = t2.alt), null !== t2.title && void 0 !== t2.title && (n2.title = t2.title);
  const r2 = { type: "element", tagName: "img", properties: n2, children: [] };
  return e3.patch(t2, r2), e3.applyData(t2, r2);
}, inlineCode: function(e3, t2) {
  const n2 = { type: "text", value: t2.value.replace(/\r?\n|\r/g, " ") };
  e3.patch(t2, n2);
  const r2 = { type: "element", tagName: "code", properties: {}, children: [n2] };
  return e3.patch(t2, r2), e3.applyData(t2, r2);
}, linkReference: function(e3, t2) {
  const n2 = String(t2.identifier).toUpperCase(), r2 = e3.definitionById.get(n2);
  if (!r2)
    return vt(e3, t2);
  const i2 = { href: B(r2.url || "") };
  null !== r2.title && void 0 !== r2.title && (i2.title = r2.title);
  const o2 = { type: "element", tagName: "a", properties: i2, children: e3.all(t2) };
  return e3.patch(t2, o2), e3.applyData(t2, o2);
}, link: function(e3, t2) {
  const n2 = { href: B(t2.url) };
  null !== t2.title && void 0 !== t2.title && (n2.title = t2.title);
  const r2 = { type: "element", tagName: "a", properties: n2, children: e3.all(t2) };
  return e3.patch(t2, r2), e3.applyData(t2, r2);
}, listItem: function(e3, t2, n2) {
  const r2 = e3.all(t2), i2 = n2 ? function(e4) {
    let t3 = false;
    if ("list" === e4.type) {
      t3 = e4.spread || false;
      const n3 = e4.children;
      let r3 = -1;
      for (; !t3 && ++r3 < n3.length; )
        t3 = xt(n3[r3]);
    }
    return t3;
  }(n2) : xt(t2), o2 = {}, s2 = [];
  if ("boolean" == typeof t2.checked) {
    const e4 = r2[0];
    let n3;
    e4 && "element" === e4.type && "p" === e4.tagName ? n3 = e4 : (n3 = { type: "element", tagName: "p", properties: {}, children: [] }, r2.unshift(n3)), n3.children.length > 0 && n3.children.unshift({ type: "text", value: " " }), n3.children.unshift({ type: "element", tagName: "input", properties: { type: "checkbox", checked: t2.checked, disabled: true }, children: [] }), o2.className = ["task-list-item"];
  }
  let a2 = -1;
  for (; ++a2 < r2.length; ) {
    const e4 = r2[a2];
    (i2 || 0 !== a2 || "element" !== e4.type || "p" !== e4.tagName) && s2.push({ type: "text", value: "\n" }), "element" !== e4.type || "p" !== e4.tagName || i2 ? s2.push(e4) : s2.push(...e4.children);
  }
  const c2 = r2[r2.length - 1];
  c2 && (i2 || "element" !== c2.type || "p" !== c2.tagName) && s2.push({ type: "text", value: "\n" });
  const l2 = { type: "element", tagName: "li", properties: o2, children: s2 };
  return e3.patch(t2, l2), e3.applyData(t2, l2);
}, list: function(e3, t2) {
  const n2 = {}, r2 = e3.all(t2);
  let i2 = -1;
  for ("number" == typeof t2.start && 1 !== t2.start && (n2.start = t2.start); ++i2 < r2.length; ) {
    const e4 = r2[i2];
    if ("element" === e4.type && "li" === e4.tagName && e4.properties && Array.isArray(e4.properties.className) && e4.properties.className.includes("task-list-item")) {
      n2.className = ["contains-task-list"];
      break;
    }
  }
  const o2 = { type: "element", tagName: t2.ordered ? "ol" : "ul", properties: n2, children: e3.wrap(r2, true) };
  return e3.patch(t2, o2), e3.applyData(t2, o2);
}, paragraph: function(e3, t2) {
  const n2 = { type: "element", tagName: "p", properties: {}, children: e3.all(t2) };
  return e3.patch(t2, n2), e3.applyData(t2, n2);
}, root: function(e3, t2) {
  const n2 = { type: "root", children: e3.wrap(e3.all(t2)) };
  return e3.patch(t2, n2), e3.applyData(t2, n2);
}, strong: function(e3, t2) {
  const n2 = { type: "element", tagName: "strong", properties: {}, children: e3.all(t2) };
  return e3.patch(t2, n2), e3.applyData(t2, n2);
}, table: function(e3, t2) {
  const n2 = e3.all(t2), r2 = n2.shift(), i2 = [];
  if (r2) {
    const n3 = { type: "element", tagName: "thead", properties: {}, children: e3.wrap([r2], true) };
    e3.patch(t2.children[0], n3), i2.push(n3);
  }
  if (n2.length > 0) {
    const r3 = { type: "element", tagName: "tbody", properties: {}, children: e3.wrap(n2, true) }, o3 = H(t2.children[1]), s2 = U(t2.children[t2.children.length - 1]);
    o3 && s2 && (r3.position = { start: o3, end: s2 }), i2.push(r3);
  }
  const o2 = { type: "element", tagName: "table", properties: {}, children: e3.wrap(i2, true) };
  return e3.patch(t2, o2), e3.applyData(t2, o2);
}, tableCell: function(e3, t2) {
  const n2 = { type: "element", tagName: "td", properties: {}, children: e3.all(t2) };
  return e3.patch(t2, n2), e3.applyData(t2, n2);
}, tableRow: function(e3, t2, n2) {
  const r2 = n2 ? n2.children : void 0, i2 = 0 === (r2 ? r2.indexOf(t2) : 1) ? "th" : "td", o2 = n2 && "table" === n2.type ? n2.align : void 0, s2 = o2 ? o2.length : t2.children.length;
  let a2 = -1;
  const c2 = [];
  for (; ++a2 < s2; ) {
    const n3 = t2.children[a2], r3 = {}, s3 = o2 ? o2[a2] : void 0;
    s3 && (r3.align = s3);
    let l3 = { type: "element", tagName: i2, properties: r3, children: [] };
    n3 && (l3.children = e3.all(n3), e3.patch(n3, l3), l3 = e3.applyData(n3, l3)), c2.push(l3);
  }
  const l2 = { type: "element", tagName: "tr", properties: {}, children: e3.wrap(c2, true) };
  return e3.patch(t2, l2), e3.applyData(t2, l2);
}, text: function(e3, t2) {
  const n2 = { type: "text", value: wt(String(t2.value)) };
  return e3.patch(t2, n2), e3.applyData(t2, n2);
}, thematicBreak: function(e3, t2) {
  const n2 = { type: "element", tagName: "hr", properties: {}, children: [] };
  return e3.patch(t2, n2), e3.applyData(t2, n2);
}, toml: St, yaml: St, definition: St, footnoteDefinition: St };
function St() {
}
function At(e3, t2) {
  const n2 = [{ type: "text", value: "↩" }];
  return t2 > 1 && n2.push({ type: "element", tagName: "sup", properties: {}, children: [{ type: "text", value: String(t2) }] }), n2;
}
function Nt(e3, t2) {
  return "Back to reference " + (e3 + 1) + (t2 > 1 ? "-" + t2 : "");
}
const Tt = {}.hasOwnProperty, _t = {};
function Pt(e3, t2) {
  e3.position && (t2.position = q(e3));
}
function Ct(e3, t2) {
  let n2 = t2;
  if (e3 && e3.data) {
    const t3 = e3.data.hName, r2 = e3.data.hChildren, i2 = e3.data.hProperties;
    if ("string" == typeof t3)
      if ("element" === n2.type)
        n2.tagName = t3;
      else {
        n2 = { type: "element", tagName: t3, properties: {}, children: "children" in n2 ? n2.children : [n2] };
      }
    "element" === n2.type && i2 && Object.assign(n2.properties, M(i2)), "children" in n2 && n2.children && null != r2 && (n2.children = r2);
  }
  return n2;
}
function jt(e3, t2) {
  const n2 = t2.data || {}, r2 = !("value" in t2) || Tt.call(n2, "hProperties") || Tt.call(n2, "hChildren") ? { type: "element", tagName: "div", properties: {}, children: e3.all(t2) } : { type: "text", value: t2.value };
  return e3.patch(t2, r2), e3.applyData(t2, r2);
}
function Ot(e3, t2) {
  const n2 = [];
  let r2 = -1;
  for (t2 && n2.push({ type: "text", value: "\n" }); ++r2 < e3.length; )
    r2 && n2.push({ type: "text", value: "\n" }), n2.push(e3[r2]);
  return t2 && e3.length > 0 && n2.push({ type: "text", value: "\n" }), n2;
}
function Dt(e3) {
  let t2 = 0, n2 = e3.charCodeAt(t2);
  for (; 9 === n2 || 32 === n2; )
    t2++, n2 = e3.charCodeAt(t2);
  return e3.slice(t2);
}
function Ft(e3, t2) {
  const n2 = function(e4, t3) {
    const n3 = t3 || _t, r3 = /* @__PURE__ */ new Map(), i3 = /* @__PURE__ */ new Map(), o3 = /* @__PURE__ */ new Map(), s2 = { ...It, ...n3.handlers }, a2 = { all: function(e5) {
      const t4 = [];
      if ("children" in e5) {
        const n4 = e5.children;
        let r4 = -1;
        for (; ++r4 < n4.length; ) {
          const i4 = a2.one(n4[r4], e5);
          if (i4) {
            if (r4 && "break" === n4[r4 - 1].type && (Array.isArray(i4) || "text" !== i4.type || (i4.value = Dt(i4.value)), !Array.isArray(i4) && "element" === i4.type)) {
              const e6 = i4.children[0];
              e6 && "text" === e6.type && (e6.value = Dt(e6.value));
            }
            Array.isArray(i4) ? t4.push(...i4) : t4.push(i4);
          }
        }
      }
      return t4;
    }, applyData: Ct, definitionById: r3, footnoteById: i3, footnoteCounts: o3, footnoteOrder: [], handlers: s2, one: function(e5, t4) {
      const n4 = e5.type, r4 = a2.handlers[n4];
      if (Tt.call(a2.handlers, n4) && r4)
        return r4(a2, e5, t4);
      if (a2.options.passThrough && a2.options.passThrough.includes(n4)) {
        if ("children" in e5) {
          const { children: t5, ...n5 } = e5, r5 = M(n5);
          return r5.children = a2.all(e5), r5;
        }
        return M(e5);
      }
      return (a2.options.unknownHandler || jt)(a2, e5, t4);
    }, options: n3, patch: Pt, wrap: Ot };
    return V(e4, function(e5) {
      if ("definition" === e5.type || "footnoteDefinition" === e5.type) {
        const t4 = "definition" === e5.type ? r3 : i3, n4 = String(e5.identifier).toUpperCase();
        t4.has(n4) || t4.set(n4, e5);
      }
    }), a2;
  }(e3, t2), r2 = n2.one(e3, void 0), i2 = function(e4) {
    const t3 = "string" == typeof e4.options.clobberPrefix ? e4.options.clobberPrefix : "user-content-", n3 = e4.options.footnoteBackContent || At, r3 = e4.options.footnoteBackLabel || Nt, i3 = e4.options.footnoteLabel || "Footnotes", o3 = e4.options.footnoteLabelTagName || "h2", s2 = e4.options.footnoteLabelProperties || { className: ["sr-only"] }, a2 = [];
    let c2 = -1;
    for (; ++c2 < e4.footnoteOrder.length; ) {
      const i4 = e4.footnoteById.get(e4.footnoteOrder[c2]);
      if (!i4)
        continue;
      const o4 = e4.all(i4), s3 = String(i4.identifier).toUpperCase(), l2 = B(s3.toLowerCase());
      let u2 = 0;
      const p2 = [], f2 = e4.footnoteCounts.get(s3);
      for (; void 0 !== f2 && ++u2 <= f2; ) {
        p2.length > 0 && p2.push({ type: "text", value: " " });
        let e5 = "string" == typeof n3 ? n3 : n3(c2, u2);
        "string" == typeof e5 && (e5 = { type: "text", value: e5 }), p2.push({ type: "element", tagName: "a", properties: { href: "#" + t3 + "fnref-" + l2 + (u2 > 1 ? "-" + u2 : ""), dataFootnoteBackref: "", ariaLabel: "string" == typeof r3 ? r3 : r3(c2, u2), className: ["data-footnote-backref"] }, children: Array.isArray(e5) ? e5 : [e5] });
      }
      const h2 = o4[o4.length - 1];
      if (h2 && "element" === h2.type && "p" === h2.tagName) {
        const e5 = h2.children[h2.children.length - 1];
        e5 && "text" === e5.type ? e5.value += " " : h2.children.push({ type: "text", value: " " }), h2.children.push(...p2);
      } else
        o4.push(...p2);
      const d2 = { type: "element", tagName: "li", properties: { id: t3 + "fn-" + l2 }, children: e4.wrap(o4, true) };
      e4.patch(i4, d2), a2.push(d2);
    }
    if (0 !== a2.length)
      return { type: "element", tagName: "section", properties: { dataFootnotes: true, className: ["footnotes"] }, children: [{ type: "element", tagName: o3, properties: { ...M(s2), id: "footnote-label" }, children: [{ type: "text", value: i3 }] }, { type: "text", value: "\n" }, { type: "element", tagName: "ol", properties: {}, children: e4.wrap(a2, true) }, { type: "text", value: "\n" }] };
  }(n2), o2 = Array.isArray(r2) ? { type: "root", children: r2 } : r2 || { type: "root", children: [] };
  return i2 && o2.children.push({ type: "text", value: "\n" }, i2), o2;
}
function zt(e3, t2) {
  return e3 && "run" in e3 ? async function(n2, r2) {
    const i2 = Ft(n2, { file: r2, ...t2 });
    await e3.run(i2, r2);
  } : function(n2, r2) {
    return Ft(n2, { file: r2, ...t2 || e3 });
  };
}
function Lt(e3) {
  if (e3)
    throw e3;
}
var Rt = Object.prototype.hasOwnProperty, Bt = Object.prototype.toString, Ht = Object.defineProperty, Ut = Object.getOwnPropertyDescriptor, Mt = function(e3) {
  return "function" == typeof Array.isArray ? Array.isArray(e3) : "[object Array]" === Bt.call(e3);
}, Vt = function(e3) {
  if (!e3 || "[object Object]" !== Bt.call(e3))
    return false;
  var t2, n2 = Rt.call(e3, "constructor"), r2 = e3.constructor && e3.constructor.prototype && Rt.call(e3.constructor.prototype, "isPrototypeOf");
  if (e3.constructor && !n2 && !r2)
    return false;
  for (t2 in e3)
    ;
  return void 0 === t2 || Rt.call(e3, t2);
}, qt = function(e3, t2) {
  Ht && "__proto__" === t2.name ? Ht(e3, t2.name, { enumerable: true, configurable: true, value: t2.newValue, writable: true }) : e3[t2.name] = t2.newValue;
}, $t = function(e3, t2) {
  if ("__proto__" === t2) {
    if (!Rt.call(e3, t2))
      return;
    if (Ut)
      return Ut(e3, t2).value;
  }
  return e3[t2];
}, Jt = function e2() {
  var t2, n2, r2, i2, o2, s2, a2 = arguments[0], c2 = 1, l2 = arguments.length, u2 = false;
  for ("boolean" == typeof a2 && (u2 = a2, a2 = arguments[1] || {}, c2 = 2), (null == a2 || "object" != typeof a2 && "function" != typeof a2) && (a2 = {}); c2 < l2; ++c2)
    if (null != (t2 = arguments[c2]))
      for (n2 in t2)
        r2 = $t(a2, n2), a2 !== (i2 = $t(t2, n2)) && (u2 && i2 && (Vt(i2) || (o2 = Mt(i2))) ? (o2 ? (o2 = false, s2 = r2 && Mt(r2) ? r2 : []) : s2 = r2 && Vt(r2) ? r2 : {}, qt(a2, { name: n2, newValue: e2(u2, s2, i2) })) : void 0 !== i2 && qt(a2, { name: n2, newValue: i2 }));
  return a2;
};
const Qt = i(Jt);
function Kt(e3) {
  if ("object" != typeof e3 || null === e3)
    return false;
  const t2 = Object.getPrototypeOf(e3);
  return !(null !== t2 && t2 !== Object.prototype && null !== Object.getPrototypeOf(t2) || Symbol.toStringTag in e3 || Symbol.iterator in e3);
}
function Gt() {
  const e3 = [], t2 = { run: function(...t3) {
    let n2 = -1;
    const r2 = t3.pop();
    if ("function" != typeof r2)
      throw new TypeError("Expected function as last argument, not " + r2);
    !function i2(o2, ...s2) {
      const a2 = e3[++n2];
      let c2 = -1;
      if (o2)
        r2(o2);
      else {
        for (; ++c2 < t3.length; )
          null !== s2[c2] && void 0 !== s2[c2] || (s2[c2] = t3[c2]);
        t3 = s2, a2 ? function(e4, t4) {
          let n3;
          return r3;
          function r3(...t5) {
            const r4 = e4.length > t5.length;
            let s3;
            r4 && t5.push(i3);
            try {
              s3 = e4.apply(this, t5);
            } catch (e5) {
              if (r4 && n3)
                throw e5;
              return i3(e5);
            }
            r4 || (s3 && s3.then && "function" == typeof s3.then ? s3.then(o3, i3) : s3 instanceof Error ? i3(s3) : o3(s3));
          }
          function i3(e5, ...r4) {
            n3 || (n3 = true, t4(e5, ...r4));
          }
          function o3(e5) {
            i3(null, e5);
          }
        }(a2, i2)(...s2) : r2(null, ...s2);
      }
    }(null, ...t3);
  }, use: function(n2) {
    if ("function" != typeof n2)
      throw new TypeError("Expected `middelware` to be a function, not " + n2);
    return e3.push(n2), t2;
  } };
  return t2;
}
const Wt = { basename: function(e3, t2) {
  if (void 0 !== t2 && "string" != typeof t2)
    throw new TypeError('"ext" argument must be a string');
  Yt(e3);
  let n2, r2 = 0, i2 = -1, o2 = e3.length;
  if (void 0 === t2 || 0 === t2.length || t2.length > e3.length) {
    for (; o2--; )
      if (47 === e3.codePointAt(o2)) {
        if (n2) {
          r2 = o2 + 1;
          break;
        }
      } else
        i2 < 0 && (n2 = true, i2 = o2 + 1);
    return i2 < 0 ? "" : e3.slice(r2, i2);
  }
  if (t2 === e3)
    return "";
  let s2 = -1, a2 = t2.length - 1;
  for (; o2--; )
    if (47 === e3.codePointAt(o2)) {
      if (n2) {
        r2 = o2 + 1;
        break;
      }
    } else
      s2 < 0 && (n2 = true, s2 = o2 + 1), a2 > -1 && (e3.codePointAt(o2) === t2.codePointAt(a2--) ? a2 < 0 && (i2 = o2) : (a2 = -1, i2 = s2));
  r2 === i2 ? i2 = s2 : i2 < 0 && (i2 = e3.length);
  return e3.slice(r2, i2);
}, dirname: function(e3) {
  if (Yt(e3), 0 === e3.length)
    return ".";
  let t2, n2 = -1, r2 = e3.length;
  for (; --r2; )
    if (47 === e3.codePointAt(r2)) {
      if (t2) {
        n2 = r2;
        break;
      }
    } else
      t2 || (t2 = true);
  return n2 < 0 ? 47 === e3.codePointAt(0) ? "/" : "." : 1 === n2 && 47 === e3.codePointAt(0) ? "//" : e3.slice(0, n2);
}, extname: function(e3) {
  Yt(e3);
  let t2, n2 = e3.length, r2 = -1, i2 = 0, o2 = -1, s2 = 0;
  for (; n2--; ) {
    const a2 = e3.codePointAt(n2);
    if (47 !== a2)
      r2 < 0 && (t2 = true, r2 = n2 + 1), 46 === a2 ? o2 < 0 ? o2 = n2 : 1 !== s2 && (s2 = 1) : o2 > -1 && (s2 = -1);
    else if (t2) {
      i2 = n2 + 1;
      break;
    }
  }
  if (o2 < 0 || r2 < 0 || 0 === s2 || 1 === s2 && o2 === r2 - 1 && o2 === i2 + 1)
    return "";
  return e3.slice(o2, r2);
}, join: function(...e3) {
  let t2, n2 = -1;
  for (; ++n2 < e3.length; )
    Yt(e3[n2]), e3[n2] && (t2 = void 0 === t2 ? e3[n2] : t2 + "/" + e3[n2]);
  return void 0 === t2 ? "." : function(e4) {
    Yt(e4);
    const t3 = 47 === e4.codePointAt(0);
    let n3 = function(e5, t4) {
      let n4, r2, i2 = "", o2 = 0, s2 = -1, a2 = 0, c2 = -1;
      for (; ++c2 <= e5.length; ) {
        if (c2 < e5.length)
          n4 = e5.codePointAt(c2);
        else {
          if (47 === n4)
            break;
          n4 = 47;
        }
        if (47 === n4) {
          if (s2 === c2 - 1 || 1 === a2)
            ;
          else if (s2 !== c2 - 1 && 2 === a2) {
            if (i2.length < 2 || 2 !== o2 || 46 !== i2.codePointAt(i2.length - 1) || 46 !== i2.codePointAt(i2.length - 2)) {
              if (i2.length > 2) {
                if (r2 = i2.lastIndexOf("/"), r2 !== i2.length - 1) {
                  r2 < 0 ? (i2 = "", o2 = 0) : (i2 = i2.slice(0, r2), o2 = i2.length - 1 - i2.lastIndexOf("/")), s2 = c2, a2 = 0;
                  continue;
                }
              } else if (i2.length > 0) {
                i2 = "", o2 = 0, s2 = c2, a2 = 0;
                continue;
              }
            }
            t4 && (i2 = i2.length > 0 ? i2 + "/.." : "..", o2 = 2);
          } else
            i2.length > 0 ? i2 += "/" + e5.slice(s2 + 1, c2) : i2 = e5.slice(s2 + 1, c2), o2 = c2 - s2 - 1;
          s2 = c2, a2 = 0;
        } else
          46 === n4 && a2 > -1 ? a2++ : a2 = -1;
      }
      return i2;
    }(e4, !t3);
    0 !== n3.length || t3 || (n3 = ".");
    n3.length > 0 && 47 === e4.codePointAt(e4.length - 1) && (n3 += "/");
    return t3 ? "/" + n3 : n3;
  }(t2);
}, sep: "/" };
function Yt(e3) {
  if ("string" != typeof e3)
    throw new TypeError("Path must be a string. Received " + JSON.stringify(e3));
}
const Xt = { cwd: function() {
  return "/";
} };
function Zt(e3) {
  return Boolean(null !== e3 && "object" == typeof e3 && "href" in e3 && e3.href && "protocol" in e3 && e3.protocol && void 0 === e3.auth);
}
function en(e3) {
  if ("string" == typeof e3)
    e3 = new URL(e3);
  else if (!Zt(e3)) {
    const t2 = new TypeError('The "path" argument must be of type string or an instance of URL. Received `' + e3 + "`");
    throw t2.code = "ERR_INVALID_ARG_TYPE", t2;
  }
  if ("file:" !== e3.protocol) {
    const e4 = new TypeError("The URL must be of scheme file");
    throw e4.code = "ERR_INVALID_URL_SCHEME", e4;
  }
  return function(e4) {
    if ("" !== e4.hostname) {
      const e5 = new TypeError('File URL host must be "localhost" or empty on darwin');
      throw e5.code = "ERR_INVALID_FILE_URL_HOST", e5;
    }
    const t2 = e4.pathname;
    let n2 = -1;
    for (; ++n2 < t2.length; )
      if (37 === t2.codePointAt(n2) && 50 === t2.codePointAt(n2 + 1)) {
        const e5 = t2.codePointAt(n2 + 2);
        if (70 === e5 || 102 === e5) {
          const e6 = new TypeError("File URL path must not include encoded / characters");
          throw e6.code = "ERR_INVALID_FILE_URL_PATH", e6;
        }
      }
    return decodeURIComponent(t2);
  }(e3);
}
const tn = ["history", "path", "basename", "stem", "extname", "dirname"];
class nn {
  constructor(e3) {
    let t2;
    t2 = e3 ? Zt(e3) ? { path: e3 } : "string" == typeof e3 || function(e4) {
      return Boolean(e4 && "object" == typeof e4 && "byteLength" in e4 && "byteOffset" in e4);
    }(e3) ? { value: e3 } : e3 : {}, this.cwd = "cwd" in t2 ? "" : Xt.cwd(), this.data = {}, this.history = [], this.messages = [];
    let n2, r2 = -1;
    for (; ++r2 < tn.length; ) {
      const e4 = tn[r2];
      e4 in t2 && void 0 !== t2[e4] && null !== t2[e4] && (this[e4] = "history" === e4 ? [...t2[e4]] : t2[e4]);
    }
    for (n2 in t2)
      tn.includes(n2) || (this[n2] = t2[n2]);
  }
  get basename() {
    return "string" == typeof this.path ? Wt.basename(this.path) : void 0;
  }
  set basename(e3) {
    on(e3, "basename"), rn(e3, "basename"), this.path = Wt.join(this.dirname || "", e3);
  }
  get dirname() {
    return "string" == typeof this.path ? Wt.dirname(this.path) : void 0;
  }
  set dirname(e3) {
    sn(this.basename, "dirname"), this.path = Wt.join(e3 || "", this.basename);
  }
  get extname() {
    return "string" == typeof this.path ? Wt.extname(this.path) : void 0;
  }
  set extname(e3) {
    if (rn(e3, "extname"), sn(this.dirname, "extname"), e3) {
      if (46 !== e3.codePointAt(0))
        throw new Error("`extname` must start with `.`");
      if (e3.includes(".", 1))
        throw new Error("`extname` cannot contain multiple dots");
    }
    this.path = Wt.join(this.dirname, this.stem + (e3 || ""));
  }
  get path() {
    return this.history[this.history.length - 1];
  }
  set path(e3) {
    Zt(e3) && (e3 = en(e3)), on(e3, "path"), this.path !== e3 && this.history.push(e3);
  }
  get stem() {
    return "string" == typeof this.path ? Wt.basename(this.path, this.extname) : void 0;
  }
  set stem(e3) {
    on(e3, "stem"), rn(e3, "stem"), this.path = Wt.join(this.dirname || "", e3 + (this.extname || ""));
  }
  fail(e3, t2, n2) {
    const r2 = this.message(e3, t2, n2);
    throw r2.fatal = true, r2;
  }
  info(e3, t2, n2) {
    const r2 = this.message(e3, t2, n2);
    return r2.fatal = void 0, r2;
  }
  message(e3, t2, n2) {
    const r2 = new ke(e3, t2, n2);
    return this.path && (r2.name = this.path + ":" + r2.name, r2.file = this.path), r2.fatal = false, this.messages.push(r2), r2;
  }
  toString(e3) {
    if (void 0 === this.value)
      return "";
    if ("string" == typeof this.value)
      return this.value;
    return new TextDecoder(e3 || void 0).decode(this.value);
  }
}
function rn(e3, t2) {
  if (e3 && e3.includes(Wt.sep))
    throw new Error("`" + t2 + "` cannot be a path: did not expect `" + Wt.sep + "`");
}
function on(e3, t2) {
  if (!e3)
    throw new Error("`" + t2 + "` cannot be empty");
}
function sn(e3, t2) {
  if (!e3)
    throw new Error("Setting `" + t2 + "` requires `path` to be set too");
}
const an = function(e3) {
  const t2 = this.constructor.prototype, n2 = t2[e3], r2 = function() {
    return n2.apply(r2, arguments);
  };
  return Object.setPrototypeOf(r2, t2), r2;
}, cn = {}.hasOwnProperty;
class ln extends an {
  constructor() {
    super("copy"), this.Compiler = void 0, this.Parser = void 0, this.attachers = [], this.compiler = void 0, this.freezeIndex = -1, this.frozen = void 0, this.namespace = {}, this.parser = void 0, this.transformers = Gt();
  }
  copy() {
    const e3 = new ln();
    let t2 = -1;
    for (; ++t2 < this.attachers.length; ) {
      const n2 = this.attachers[t2];
      e3.use(...n2);
    }
    return e3.data(Qt(true, {}, this.namespace)), e3;
  }
  data(e3, t2) {
    return "string" == typeof e3 ? 2 === arguments.length ? (hn("data", this.frozen), this.namespace[e3] = t2, this) : cn.call(this.namespace, e3) && this.namespace[e3] || void 0 : e3 ? (hn("data", this.frozen), this.namespace = e3, this) : this.namespace;
  }
  freeze() {
    if (this.frozen)
      return this;
    const e3 = this;
    for (; ++this.freezeIndex < this.attachers.length; ) {
      const [t2, ...n2] = this.attachers[this.freezeIndex];
      if (false === n2[0])
        continue;
      true === n2[0] && (n2[0] = void 0);
      const r2 = t2.call(e3, ...n2);
      "function" == typeof r2 && this.transformers.use(r2);
    }
    return this.frozen = true, this.freezeIndex = Number.POSITIVE_INFINITY, this;
  }
  parse(e3) {
    this.freeze();
    const t2 = yn(e3), n2 = this.parser || this.Parser;
    return pn("parse", n2), n2(String(t2), t2);
  }
  process(e3, t2) {
    const n2 = this;
    return this.freeze(), pn("process", this.parser || this.Parser), fn("process", this.compiler || this.Compiler), t2 ? r2(void 0, t2) : new Promise(r2);
    function r2(r3, i2) {
      const o2 = yn(e3), s2 = n2.parse(o2);
      function a2(e4, n3) {
        e4 || !n3 ? i2(e4) : r3 ? r3(n3) : t2(void 0, n3);
      }
      n2.run(s2, o2, function(e4, t3, r4) {
        if (e4 || !t3 || !r4)
          return a2(e4);
        const i3 = t3, o3 = n2.stringify(i3, r4);
        var s3;
        "string" == typeof (s3 = o3) || function(e5) {
          return Boolean(e5 && "object" == typeof e5 && "byteLength" in e5 && "byteOffset" in e5);
        }(s3) ? r4.value = o3 : r4.result = o3, a2(e4, r4);
      });
    }
  }
  processSync(e3) {
    let t2, n2 = false;
    return this.freeze(), pn("processSync", this.parser || this.Parser), fn("processSync", this.compiler || this.Compiler), this.process(e3, function(e4, r2) {
      n2 = true, Lt(e4), t2 = r2;
    }), mn("processSync", "process", n2), t2;
  }
  run(e3, t2, n2) {
    dn(e3), this.freeze();
    const r2 = this.transformers;
    return n2 || "function" != typeof t2 || (n2 = t2, t2 = void 0), n2 ? i2(void 0, n2) : new Promise(i2);
    function i2(i3, o2) {
      const s2 = yn(t2);
      r2.run(e3, s2, function(t3, r3, s3) {
        const a2 = r3 || e3;
        t3 ? o2(t3) : i3 ? i3(a2) : n2(void 0, a2, s3);
      });
    }
  }
  runSync(e3, t2) {
    let n2, r2 = false;
    return this.run(e3, t2, function(e4, t3) {
      Lt(e4), n2 = t3, r2 = true;
    }), mn("runSync", "run", r2), n2;
  }
  stringify(e3, t2) {
    this.freeze();
    const n2 = yn(t2), r2 = this.compiler || this.Compiler;
    return fn("stringify", r2), dn(e3), r2(e3, n2);
  }
  use(e3, ...t2) {
    const n2 = this.attachers, r2 = this.namespace;
    if (hn("use", this.frozen), null == e3)
      ;
    else if ("function" == typeof e3)
      a2(e3, t2);
    else {
      if ("object" != typeof e3)
        throw new TypeError("Expected usable value, not `" + e3 + "`");
      Array.isArray(e3) ? s2(e3) : o2(e3);
    }
    return this;
    function i2(e4) {
      if ("function" == typeof e4)
        a2(e4, []);
      else {
        if ("object" != typeof e4)
          throw new TypeError("Expected usable value, not `" + e4 + "`");
        if (Array.isArray(e4)) {
          const [t3, ...n3] = e4;
          a2(t3, n3);
        } else
          o2(e4);
      }
    }
    function o2(e4) {
      if (!("plugins" in e4) && !("settings" in e4))
        throw new Error("Expected usable value but received an empty preset, which is probably a mistake: presets typically come with `plugins` and sometimes with `settings`, but this has neither");
      s2(e4.plugins), e4.settings && (r2.settings = Qt(true, r2.settings, e4.settings));
    }
    function s2(e4) {
      let t3 = -1;
      if (null == e4)
        ;
      else {
        if (!Array.isArray(e4))
          throw new TypeError("Expected a list of plugins, not `" + e4 + "`");
        for (; ++t3 < e4.length; ) {
          i2(e4[t3]);
        }
      }
    }
    function a2(e4, t3) {
      let r3 = -1, i3 = -1;
      for (; ++r3 < n2.length; )
        if (n2[r3][0] === e4) {
          i3 = r3;
          break;
        }
      if (-1 === i3)
        n2.push([e4, ...t3]);
      else if (t3.length > 0) {
        let [r4, ...o3] = t3;
        const s3 = n2[i3][1];
        Kt(s3) && Kt(r4) && (r4 = Qt(true, s3, r4)), n2[i3] = [e4, r4, ...o3];
      }
    }
  }
}
const un = new ln().freeze();
function pn(e3, t2) {
  if ("function" != typeof t2)
    throw new TypeError("Cannot `" + e3 + "` without `parser`");
}
function fn(e3, t2) {
  if ("function" != typeof t2)
    throw new TypeError("Cannot `" + e3 + "` without `compiler`");
}
function hn(e3, t2) {
  if (t2)
    throw new Error("Cannot call `" + e3 + "` on a frozen processor.\nCreate a new processor first, by calling it: use `processor()` instead of `processor`.");
}
function dn(e3) {
  if (!Kt(e3) || "string" != typeof e3.type)
    throw new TypeError("Expected node, got `" + e3 + "`");
}
function mn(e3, t2, n2) {
  if (!n2)
    throw new Error("`" + e3 + "` finished async. Use `" + t2 + "` instead");
}
function yn(e3) {
  return function(e4) {
    return Boolean(e4 && "object" == typeof e4 && "message" in e4 && "messages" in e4);
  }(e3) ? e3 : new nn(e3);
}
const gn = [], vn = { allowDangerousHtml: true }, xn = /^(https?|ircs?|mailto|xmpp)$/i, bn = [{ from: "astPlugins", id: "remove-buggy-html-in-markdown-parser" }, { from: "allowDangerousHtml", id: "remove-buggy-html-in-markdown-parser" }, { from: "allowNode", id: "replace-allownode-allowedtypes-and-disallowedtypes", to: "allowElement" }, { from: "allowedTypes", id: "replace-allownode-allowedtypes-and-disallowedtypes", to: "allowedElements" }, { from: "disallowedTypes", id: "replace-allownode-allowedtypes-and-disallowedtypes", to: "disallowedElements" }, { from: "escapeHtml", id: "remove-buggy-html-in-markdown-parser" }, { from: "includeElementIndex", id: "#remove-includeelementindex" }, { from: "includeNodeIndex", id: "change-includenodeindex-to-includeelementindex" }, { from: "linkTarget", id: "remove-linktarget" }, { from: "plugins", id: "change-plugins-to-remarkplugins", to: "remarkPlugins" }, { from: "rawSourcePos", id: "#remove-rawsourcepos" }, { from: "renderers", id: "change-renderers-to-components", to: "components" }, { from: "source", id: "change-source-to-children", to: "children" }, { from: "sourcePos", id: "#remove-sourcepos" }, { from: "transformImageUri", id: "#add-urltransform", to: "urlTransform" }, { from: "transformLinkUri", id: "#add-urltransform", to: "urlTransform" }];
function kn(r2) {
  const i2 = r2.allowedElements, o2 = r2.allowElement, s2 = r2.children || "", a2 = r2.className, c2 = r2.components, l2 = r2.disallowedElements, u2 = r2.rehypePlugins || gn, p2 = r2.remarkPlugins || gn, f2 = r2.remarkRehypeOptions ? { ...r2.remarkRehypeOptions, ...vn } : vn, h2 = r2.skipHtml, d2 = r2.unwrapDisallowed, m2 = r2.urlTransform || wn, y2 = un().use(gt).use(p2).use(zt, f2).use(u2), g2 = new nn();
  "string" == typeof s2 && (g2.value = s2);
  for (const e3 of bn)
    ;
  const v2 = y2.parse(g2);
  let x2 = y2.runSync(v2, g2);
  return a2 && (x2 = { type: "element", tagName: "div", properties: { className: a2 }, children: "root" === x2.type ? x2.children : [x2] }), V(x2, function(e3, t2, n2) {
    if ("raw" === e3.type && n2 && "number" == typeof t2)
      return h2 ? n2.children.splice(t2, 1) : n2.children[t2] = { type: "text", value: e3.value }, t2;
    if ("element" === e3.type) {
      let t3;
      for (t3 in He)
        if (Object.hasOwn(He, t3) && Object.hasOwn(e3.properties, t3)) {
          const n3 = e3.properties[t3], r3 = He[t3];
          (null === r3 || r3.includes(e3.tagName)) && (e3.properties[t3] = m2(String(n3 || ""), t3, e3));
        }
    }
    if ("element" === e3.type) {
      let r3 = i2 ? !i2.includes(e3.tagName) : !!l2 && l2.includes(e3.tagName);
      if (!r3 && o2 && "number" == typeof t2 && (r3 = !o2(e3, t2, n2)), r3 && n2 && "number" == typeof t2)
        return d2 && e3.children ? n2.children.splice(t2, 1, ...e3.children) : n2.children.splice(t2, 1), t2;
    }
  }), _e(x2, { Fragment: e, components: c2, ignoreInvalidStyle: true, jsx: t, jsxs: n, passKeys: true, passNode: true });
}
function wn(e3) {
  const t2 = e3.indexOf(":"), n2 = e3.indexOf("?"), r2 = e3.indexOf("#"), i2 = e3.indexOf("/");
  return t2 < 0 || i2 > -1 && t2 > i2 || n2 > -1 && t2 > n2 || r2 > -1 && t2 > r2 || xn.test(e3.slice(0, t2)) ? e3 : "";
}
export {
  kn as default,
  wn as defaultUrlTransform
};
