import { jsx as i, jsxs as N, Fragment as Fe } from "react/jsx-runtime";
import _e, { createContext as jt, useContext as it, useMemo as G, lazy as k, useState as _, useEffect as W, useRef as H, useCallback as C, Suspense as ke } from "react";
import { createPortal as Ce } from "react-dom";
import { motion as Y, AnimatePresence as Ne } from "framer-motion";
import { ZoomOut as Wt, ZoomIn as Lt, Scan as Me, RotateCcw as Te, RotateCw as Re, RefreshCw as $t, List as Dt, ChevronLeft as st, ChevronRight as lt, Minimize2 as Zt, Maximize2 as At, WrapText as Pe, Code as Ot, Eye as It, FileQuestion as ze, Download as Vt, X as Ee } from "lucide-react";
import Se from "jszip";
import { pdfjs as U } from "react-pdf";
const je = "1.3.8", We = {
  version: je
};
function Le(t) {
  try {
    const e = new URL(t).pathname.split("/").pop() || "file";
    return decodeURIComponent(e);
  } catch {
    const e = t.split("/").pop() || "file";
    return decodeURIComponent(e);
  }
}
function rt(t) {
  var e;
  const r = ((e = t.split(".").pop()) == null ? void 0 : e.toLowerCase()) || "";
  return {
    // 图片
    jpg: "image/jpeg",
    jpeg: "image/jpeg",
    png: "image/png",
    gif: "image/gif",
    webp: "image/webp",
    svg: "image/svg+xml",
    bmp: "image/bmp",
    ico: "image/x-icon",
    // 视频
    mp4: "video/mp4",
    webm: "video/webm",
    ogg: "video/ogg",
    ogv: "video/ogg",
    mov: "video/quicktime",
    avi: "video/x-msvideo",
    mkv: "video/x-matroska",
    m4v: "video/x-m4v",
    "3gp": "video/3gpp",
    flv: "video/x-flv",
    // 音频
    mp3: "audio/mpeg",
    wav: "audio/wav",
    m4a: "audio/mp4",
    aac: "audio/aac",
    flac: "audio/flac",
    // 文档
    pdf: "application/pdf",
    docx: "application/vnd.openxmlformats-officedocument.wordprocessingml.document",
    xlsx: "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
    pptx: "application/vnd.openxmlformats-officedocument.presentationml.presentation",
    ppt: "application/vnd.ms-powerpoint",
    msg: "application/vnd.ms-outlook",
    mobi: "application/x-mobipocket-ebook",
    azw: "application/vnd.amazon.ebook",
    azw3: "application/vnd.amazon.ebook",
    kf8: "application/vnd.amazon.ebook",
    // 文本
    txt: "text/plain",
    md: "text/markdown",
    markdown: "text/markdown",
    json: "application/json",
    xml: "application/xml",
    html: "text/html",
    css: "text/css",
    js: "text/javascript",
    ts: "text/typescript",
    jsx: "text/javascript",
    tsx: "text/typescript",
    py: "text/x-python",
    java: "text/x-java",
    cpp: "text/x-c++src",
    c: "text/x-csrc",
    cs: "text/x-csharp",
    php: "text/x-php",
    rb: "text/x-ruby",
    go: "text/x-go",
    rs: "text/x-rust",
    yaml: "text/yaml",
    yml: "text/yaml",
    toml: "text/toml",
    ini: "text/plain",
    env: "text/plain",
    diff: "text/x-diff",
    patch: "text/x-diff",
    log: "text/plain",
    csv: "text/csv",
    tsv: "text/tab-separated-values",
    srt: "application/x-subrip",
    vtt: "text/vtt",
    zip: "application/zip"
  }[r] || "application/octet-stream";
}
function $e(t, e = 0) {
  if (t instanceof File)
    return {
      id: `file-${Date.now()}-${e}`,
      name: t.name,
      url: URL.createObjectURL(t),
      type: t.type || rt(t.name),
      size: t.size
    };
  if (typeof t == "string") {
    const r = Le(t);
    return {
      id: `url-${Date.now()}-${e}`,
      name: r,
      url: t,
      type: rt(r)
    };
  }
  return {
    id: t.id || `link-${Date.now()}-${e}`,
    name: t.name,
    url: t.url,
    type: t.type || rt(t.name),
    size: t.size
  };
}
function De(t) {
  return t.map((e, r) => $e(e, r));
}
function Ze(t) {
  var e;
  const r = ((e = t.name.split(".").pop()) == null ? void 0 : e.toLowerCase()) || "", n = t.type.toLowerCase();
  if (n.startsWith("image/") || ["jpg", "jpeg", "png", "gif", "webp", "svg"].includes(r))
    return "image";
  if (n.includes("pdf") || r === "pdf")
    return "pdf";
  if (n.includes("wordprocessingml") || r === "docx")
    return "docx";
  if (n.includes("spreadsheetml") || r === "xlsx")
    return "xlsx";
  if (n.includes("presentationml") || r === "pptx" || r === "ppt")
    return "pptx";
  if (n.includes("ms-outlook") || r === "msg")
    return "msg";
  if (n.includes("epub") || r === "epub")
    return "epub";
  if (["mobi", "azw", "azw3", "kf8"].includes(r) || n === "application/x-mobipocket-ebook" || n === "application/vnd.amazon.ebook")
    return "mobi";
  if (["csv", "tsv"].includes(r) || n === "text/csv" || n === "text/tab-separated-values")
    return "csv";
  if (r === "xml" || n === "application/xml" || n === "text/xml")
    return "xml";
  if (["srt", "vtt", "lrc", "elrc", "ass", "ssa", "ttml", "dfxp"].includes(r) || n === "text/vtt" || n === "application/x-subrip" || n === "application/ttml+xml")
    return "subtitle";
  if (r === "zip" || n === "application/zip" || n === "application/x-zip-compressed")
    return "zip";
  if (n.startsWith("video/") || ["mp4", "webm", "ogg", "ogv", "mov", "avi", "mkv", "m4v", "3gp", "flv"].includes(r))
    return "video";
  if (n.startsWith("audio/") || ["mp3", "wav", "ogg", "m4a", "flac", "aac"].includes(r))
    return "audio";
  if (r === "md" || r === "markdown")
    return "markdown";
  if (n === "application/json" || r === "json")
    return "json";
  const a = [
    "txt",
    "log",
    "lock",
    "js",
    "jsx",
    "ts",
    "tsx",
    "py",
    "java",
    "cpp",
    "c",
    "h",
    "cs",
    "php",
    "rb",
    "go",
    "mod",
    "rs",
    "swift",
    "kt",
    "lua",
    "vim",
    "html",
    "css",
    "scss",
    "sass",
    "less",
    "yaml",
    "yml",
    "toml",
    "ini",
    "conf",
    "env",
    "diff",
    "patch",
    "sh",
    "bash",
    "zsh",
    "sql"
  ];
  return n.startsWith("text/") || a.includes(r) ? "text" : "unsupported";
}
function Gr(t) {
  var e;
  const r = ((e = t.split(".").pop()) == null ? void 0 : e.toLowerCase()) || "";
  return {
    js: "javascript",
    jsx: "jsx",
    ts: "typescript",
    tsx: "tsx",
    py: "python",
    java: "java",
    cpp: "cpp",
    c: "c",
    cs: "csharp",
    php: "php",
    rb: "ruby",
    go: "go",
    mod: "go",
    rs: "rust",
    swift: "swift",
    kt: "kotlin",
    lua: "lua",
    vim: "vim",
    scala: "scala",
    sh: "bash",
    bash: "bash",
    zsh: "bash",
    json: "json",
    xml: "xml",
    html: "html",
    css: "css",
    scss: "scss",
    sass: "sass",
    less: "less",
    sql: "sql",
    yaml: "yaml",
    yml: "yaml",
    toml: "toml",
    ini: "ini",
    env: "bash",
    conf: "nginx",
    diff: "diff",
    patch: "diff",
    log: "log",
    md: "markdown",
    txt: "text"
  }[r] || "text";
}
function Ae(t) {
  return t < 1024 ? `${t} B` : t < 1024 * 1024 ? `${(t / 1024).toFixed(1)} KB` : `${(t / (1024 * 1024)).toFixed(1)} MB`;
}
function Xr(t) {
  var e;
  return (((e = t.split(".").pop()) == null ? void 0 : e.toLowerCase()) || "") === "tsv" ? "	" : ",";
}
function qr(t, e = {}) {
  const r = e.delimiter ?? ",", n = e.firstRowAsHeader ?? !0, a = [];
  let o = [], l = "", p = !1, s = 0;
  const f = t.length;
  for (; s < f; ) {
    const u = t[s];
    if (p) {
      if (u === '"') {
        if (t[s + 1] === '"') {
          l += '"', s += 2;
          continue;
        }
        p = !1, s += 1;
        continue;
      }
      l += u, s += 1;
      continue;
    }
    if (u === '"') {
      p = !0, s += 1;
      continue;
    }
    if (u === r) {
      o.push(l), l = "", s += 1;
      continue;
    }
    if (u === "\r") {
      t[s + 1] === `
` && (s += 1), o.push(l), a.push(o), o = [], l = "", s += 1;
      continue;
    }
    if (u === `
`) {
      o.push(l), a.push(o), o = [], l = "", s += 1;
      continue;
    }
    l += u, s += 1;
  }
  for ((l.length > 0 || o.length > 0) && (o.push(l), a.push(o)); a.length > 0; ) {
    const u = a[a.length - 1];
    if (u.length === 1 && u[0] === "")
      a.pop();
    else
      break;
  }
  let c = [], d = a;
  n && a.length > 0 && (c = a[0], d = a.slice(1));
  const m = Math.max(
    c.length,
    ...d.map((u) => u.length),
    0
  );
  for (const u of d)
    for (; u.length < m; ) u.push("");
  return {
    header: c,
    rows: d,
    columnCount: m,
    delimiter: r
  };
}
function Oe(t) {
  const e = t instanceof Uint8Array ? t : new Uint8Array(t);
  if (e.length >= 3 && e[0] === 239 && e[1] === 187 && e[2] === 191)
    return new TextDecoder("utf-8").decode(e);
  if (e.length >= 2 && e[0] === 255 && e[1] === 254)
    return new TextDecoder("utf-16le").decode(e);
  if (e.length >= 2 && e[0] === 254 && e[1] === 255)
    return new TextDecoder("utf-16be").decode(e);
  try {
    return new TextDecoder("utf-8", { fatal: !0 }).decode(e);
  } catch {
  }
  try {
    return new TextDecoder("gbk").decode(e);
  } catch {
  }
  return new TextDecoder("utf-8", { fatal: !1 }).decode(e);
}
async function Jr(t, e) {
  const r = await fetch(t, e);
  if (!r.ok) throw new Error(`请求失败: ${r.status}`);
  const n = await r.arrayBuffer();
  return Oe(n);
}
function Mt(t) {
  const e = t.trim().replace(",", "."), r = e.split(":").map((n) => n.trim());
  if (r.length === 3) {
    const [n, a, o] = r;
    return Number(n) * 3600 + Number(a) * 60 + Number(o);
  }
  if (r.length === 2) {
    const [n, a] = r;
    return Number(n) * 60 + Number(a);
  }
  return Number(e) || 0;
}
function Kr(t) {
  if (!isFinite(t) || t < 0) return "00:00:00.000";
  const e = Math.floor(t * 1e3), r = e % 1e3, n = Math.floor(e / 1e3) % 60, a = Math.floor(e / 6e4) % 60, o = Math.floor(e / 36e5), l = (p, s = 2) => p.toString().padStart(s, "0");
  return `${l(o)}:${l(a)}:${l(n)}.${l(r, 3)}`;
}
const Tt = /(\d{1,2}:)?\d{1,2}:\d{1,2}[.,]\d{1,3}\s*-->\s*(\d{1,2}:)?\d{1,2}:\d{1,2}[.,]\d{1,3}/, Ie = /^\s*\[\d{1,2}:\d{1,2}(?:[.:]\d{1,3})?\]/;
function Ve(t) {
  const e = t.replace(/^\uFEFF/, "").trimStart();
  return /^WEBVTT/.test(e) ? "vtt" : /^<\?xml/i.test(e) || /<tt\b[^>]*>/i.test(e) ? "ttml" : /^\[Script Info\]/im.test(e) || /^Dialogue:/m.test(e) ? /ScriptType:\s*v4\.00\s*$/im.test(e) ? "ssa" : "ass" : Ie.test(e) || /^\[(ti|ar|al|au|by|length|offset|re|ve):/im.test(e) ? /<\d{1,2}:\d{1,2}(?:[.:]\d{1,3})?>/.test(e) ? "elrc" : "lrc" : "srt";
}
function Rt(t, e) {
  const r = t.replace(/\r\n?/g, `
`).replace(/^\uFEFF/, "").split(`
`), n = [];
  let a, o = 0;
  if (e === "vtt") {
    const l = [];
    for (; o < r.length && r[o].trim() !== ""; )
      l.push(r[o]), o++;
    for (a = l.join(`
`); o < r.length && r[o].trim() === ""; ) o++;
  }
  for (; o < r.length; ) {
    for (; o < r.length && r[o].trim() === ""; ) o++;
    if (o >= r.length) break;
    let l, p = null;
    if (Tt.test(r[o]))
      p = r[o], o++;
    else if (l = r[o].trim() || void 0, o++, o < r.length && Tt.test(r[o]))
      p = r[o], o++;
    else
      continue;
    if (!p) continue;
    const s = p.match(/([\d:.,]+)\s*-->\s*([\d:.,]+)/);
    if (!s) continue;
    const f = Mt(s[1]), c = Mt(s[2]), d = [];
    for (; o < r.length && r[o].trim() !== ""; )
      d.push(r[o]), o++;
    n.push({ id: l, start: f, end: c, text: d.join(`
`) });
  }
  return { format: e, cues: n, header: a };
}
function at(t, e, r) {
  const n = Number(t), a = Number(e);
  let o = 0;
  if (r) {
    const l = (r + "000").slice(0, 3);
    o = Number(l);
  }
  return n * 60 + a + o / 1e3;
}
function Bt(t, e) {
  const r = /^\[(ti|ar|al|au|by|length|offset|re|ve):(.*)\]$/i.exec(t.trim());
  if (!r) return !1;
  const n = r[1].toLowerCase(), a = r[2].trim();
  if (e.metadata[n] = a, n === "offset") {
    const o = Number(a);
    isNaN(o) || (e.offsetMs = o);
  }
  return !0;
}
function Be(t) {
  const e = t.replace(/\r\n?/g, `
`).replace(/^\uFEFF/, "").split(`
`), r = { metadata: {}, offsetMs: 0 }, n = /\[(\d{1,2}):(\d{1,2})(?:[.:](\d{1,3}))?\]/g, a = [];
  for (const l of e) {
    const p = l.trim();
    if (!p || Bt(p, r)) continue;
    const s = [];
    let f = 0;
    n.lastIndex = 0;
    let c;
    for (; (c = n.exec(p)) !== null && c.index === f; )
      s.push(at(c[1], c[2], c[3])), f = c.index + c[0].length;
    if (s.length === 0) continue;
    const d = p.slice(f).trim();
    for (const m of s)
      a.push({ start: m, text: d });
  }
  a.sort((l, p) => l.start - p.start);
  const o = r.offsetMs / 1e3;
  return { format: "lrc", cues: a.map((l, p) => {
    const s = Math.max(0, l.start - o), f = a[p + 1], c = f ? Math.max(s, f.start - o) : s + 5;
    return { start: s, end: c, text: l.text };
  }), metadata: r.metadata };
}
function He(t) {
  const e = t.replace(/\r\n?/g, `
`).replace(/^\uFEFF/, "").split(`
`), r = { metadata: {}, offsetMs: 0 }, n = /\[(\d{1,2}):(\d{1,2})(?:[.:](\d{1,3}))?\]/g, a = /<(\d{1,2}):(\d{1,2})(?:[.:](\d{1,3}))?>/g, o = [];
  for (const p of e) {
    const s = p.trim();
    if (!s || Bt(s, r)) continue;
    const f = [];
    let c = 0;
    n.lastIndex = 0;
    let d;
    for (; (d = n.exec(s)) !== null && d.index === c; )
      f.push(at(d[1], d[2], d[3])), c = d.index + d[0].length;
    if (f.length === 0) continue;
    const m = s.slice(c);
    for (const u of f)
      o.push({ start: u, raw: m });
  }
  o.sort((p, s) => p.start - s.start);
  const l = r.offsetMs / 1e3;
  return { format: "elrc", cues: o.map((p, s) => {
    const f = [];
    let c = "", d = 0, m = null;
    a.lastIndex = 0;
    let u;
    for (; (u = a.exec(p.raw)) !== null; ) {
      const M = p.raw.slice(d, u.index);
      m !== null && M && f.push({ start: Math.max(0, m - l), text: M }), c += M, m = at(u[1], u[2], u[3]), d = u.index + u[0].length;
    }
    const F = p.raw.slice(d);
    m !== null && F && f.push({ start: Math.max(0, m - l), text: F }), c += F;
    const x = Math.max(0, p.start - l), y = o[s + 1], b = y ? Math.max(x, y.start - l) : x + 5;
    return {
      start: x,
      end: b,
      text: c.trim(),
      words: f.length ? f : void 0
    };
  }), metadata: r.metadata };
}
function Pt(t) {
  const e = t.trim().split(":");
  return e.length !== 3 ? 0 : Number(e[0]) * 3600 + Number(e[1]) * 60 + Number(e[2].replace(",", "."));
}
function zt(t, e) {
  const r = t.replace(/\r\n?/g, `
`).replace(/^\uFEFF/, "").split(`
`);
  let n = "", a = [];
  const o = [], l = [];
  for (const p of r) {
    const s = p.replace(/\s+$/, ""), f = s.trim(), c = /^\[([^\]]+)\]\s*$/.exec(f);
    if (c) {
      n = c[1].toLowerCase(), l.push(s);
      continue;
    }
    if (n !== "events") {
      l.push(s);
      continue;
    }
    const d = /^Format:\s*(.+)$/i.exec(f);
    if (d) {
      a = d[1].split(",").map((z) => z.trim());
      continue;
    }
    const m = /^(Dialogue|Comment):\s*(.+)$/i.exec(f);
    if (!m || m[1].toLowerCase() === "comment" || a.length === 0) continue;
    const u = a.length, F = m[2].split(","), x = F.slice(0, u - 1), y = F.slice(u - 1).join(","), b = {};
    a.forEach((z, E) => {
      b[z] = E === u - 1 ? y : x[E] ?? "";
    });
    const M = Pt(b.Start || ""), P = Pt(b.End || ""), I = (b.Text || "").replace(/\\N/g, `
`).replace(/\\n/g, `
`).replace(/\\h/g, " ").replace(/\{[^}]*\}/g, "");
    o.push({ start: M, end: P, text: I, style: b.Style });
  }
  return o.sort((p, s) => p.start - s.start), {
    format: e,
    cues: o,
    header: l.join(`
`).trim() || void 0
  };
}
function ot(t) {
  const e = t.trim();
  if (!e) return 0;
  const r = /^(\d+(?:\.\d+)?)(h|m|s|ms|f|t)$/i.exec(e);
  if (r) {
    const a = Number(r[1]), o = r[2].toLowerCase();
    return o === "h" ? a * 3600 : o === "m" ? a * 60 : o === "ms" ? a / 1e3 : a;
  }
  const n = e.split(":");
  return n.length === 3 ? Number(n[0]) * 3600 + Number(n[1]) * 60 + Number(n[2]) : n.length === 2 ? Number(n[0]) * 60 + Number(n[1]) : Number(e) || 0;
}
function Ue(t) {
  if (typeof DOMParser > "u")
    throw new Error("TTML parsing requires a DOMParser environment");
  const e = new DOMParser().parseFromString(t, "application/xml");
  if (e.getElementsByTagName("parsererror").length > 0)
    throw new Error("TTML XML parse error");
  const r = e.getElementsByTagName("p"), n = [];
  for (let a = 0; a < r.length; a++) {
    const o = r[a], l = o.getAttribute("begin") || "", p = o.getAttribute("end") || "", s = o.getAttribute("dur") || "", f = ot(l);
    let c;
    p ? c = ot(p) : s ? c = f + ot(s) : c = f + 5;
    let d = "";
    o.childNodes.forEach((u) => {
      if (u.nodeType === 3)
        d += u.nodeValue || "";
      else if (u.nodeType === 1) {
        const F = u;
        F.tagName.toLowerCase() === "br" ? d += `
` : d += F.textContent || "";
      }
    });
    const m = d.replace(/[ \t]+/g, " ").replace(/\n /g, `
`).trim();
    (m || f || c) && n.push({ start: f, end: c, text: m });
  }
  return n.sort((a, o) => a.start - o.start), { format: "ttml", cues: n };
}
function Yr(t, e) {
  switch (e ?? Ve(t)) {
    case "lrc":
      return Be(t);
    case "elrc":
      return He(t);
    case "ass":
      return zt(t, "ass");
    case "ssa":
      return zt(t, "ssa");
    case "ttml":
      return Ue(t);
    case "vtt":
      return Rt(t, "vtt");
    case "srt":
    default:
      return Rt(t, "srt");
  }
}
async function Qr(t) {
  return Se.loadAsync(t);
}
function to(t) {
  const e = [];
  return t.forEach((r, n) => {
    var a;
    const o = n.dir, l = o && !r.endsWith("/") ? r + "/" : r, p = o ? l.replace(/\/$/, "") : l, s = p.lastIndexOf("/"), f = s >= 0 ? p.slice(s + 1) : p, c = s >= 0 ? p.slice(0, s) : "", d = o ? 0 : ((a = n._data) == null ? void 0 : a.uncompressedSize) ?? 0;
    e.push({
      path: l,
      name: f,
      dir: c,
      isDir: o,
      size: d,
      date: n.date
    });
  }), e;
}
function eo(t) {
  const e = { name: "", path: "", isDir: !0, children: [], size: 0 }, r = /* @__PURE__ */ new Map();
  r.set("", e);
  const n = (o) => {
    if (r.has(o)) return r.get(o);
    const l = o.split("/").filter(Boolean);
    let p = e, s = "";
    for (const f of l) {
      s = s ? `${s}/${f}` : f;
      let c = r.get(s);
      c || (c = { name: f, path: s + "/", isDir: !0, children: [], size: 0 }, p.children.push(c), r.set(s, c)), p = c;
    }
    return p;
  };
  for (const o of t) {
    if (o.isDir) {
      n(o.path.replace(/\/$/, ""));
      continue;
    }
    n(o.dir).children.push({
      name: o.name,
      path: o.path,
      isDir: !1,
      size: o.size
    });
  }
  const a = (o) => {
    if (o.children) {
      o.children.sort((l, p) => l.isDir !== p.isDir ? l.isDir ? -1 : 1 : l.name.localeCompare(p.name));
      for (const l of o.children) a(l);
    }
  };
  return a(e), e;
}
async function ro(t, e, r) {
  const n = t.file(e);
  if (!n) throw new Error(`ZIP entry not found: ${e}`);
  const a = await n.async("arraybuffer");
  return new Blob([a], r ? { type: r } : void 0);
}
function Ge(t) {
  return t ? t.startsWith("#") ? t : t.length === 8 ? "#" + t.substring(2) : t.length === 6 ? "#" + t : "#000000" : "#000000";
}
const Xe = [
  "FFFFFF",
  "000000",
  "E7E6E6",
  "44546A",
  "4472C4",
  "ED7D31",
  "A5A5A5",
  "FFC000",
  "5B9BD5",
  "70AD47"
], qe = [
  "000000",
  "FFFFFF",
  "FF0000",
  "00FF00",
  "0000FF",
  "FFFF00",
  "FF00FF",
  "00FFFF",
  "000000",
  "FFFFFF",
  "FF0000",
  "00FF00",
  "0000FF",
  "FFFF00",
  "FF00FF",
  "00FFFF",
  "800000",
  "008000",
  "000080",
  "808000",
  "800080",
  "008080",
  "C0C0C0",
  "808080",
  "9999FF",
  "993366",
  "FFFFCC",
  "CCFFFF",
  "660066",
  "FF8080",
  "0066CC",
  "CCCCFF",
  "000080",
  "FF00FF",
  "FFFF00",
  "00FFFF",
  "800080",
  "800000",
  "008080",
  "0000FF",
  "00CCFF",
  "CCFFFF",
  "CCFFCC",
  "FFFF99",
  "99CCFF",
  "FF99CC",
  "CC99FF",
  "FFCC99",
  "3366FF",
  "33CCCC",
  "99CC00",
  "FFCC00",
  "FF9900",
  "FF6600",
  "666699",
  "969696",
  "003366",
  "339966",
  "003300",
  "333300",
  "993300",
  "993366",
  "333399",
  "333333"
];
function Je(t, e) {
  const r = parseInt(t.substring(0, 2), 16), n = parseInt(t.substring(2, 4), 16), a = parseInt(t.substring(4, 6), 16), o = (f) => e < 0 ? Math.round(f * (1 + e)) : Math.round(f + (255 - f) * e), l = Math.min(255, Math.max(0, o(r))), p = Math.min(255, Math.max(0, o(n))), s = Math.min(255, Math.max(0, o(a)));
  return l.toString(16).padStart(2, "0") + p.toString(16).padStart(2, "0") + s.toString(16).padStart(2, "0");
}
function Ke(t) {
  if (t && t.type === "pattern" && t.pattern === "solid") {
    const e = t.fgColor;
    if (e)
      return pt(e);
  }
}
function pt(t) {
  if (t) {
    if ("argb" in t && typeof t.argb == "string" && t.argb)
      return Ge(t.argb);
    if ("theme" in t && typeof t.theme == "number") {
      const e = Xe[t.theme] || "000000", r = "tint" in t && typeof t.tint == "number" ? t.tint : 0;
      return "#" + (r !== 0 ? Je(e, r) : e);
    }
    if ("indexed" in t && typeof t.indexed == "number") {
      const e = qe[t.indexed];
      if (e) return "#" + e;
    }
  }
}
function Ye(t) {
  if (!t || !t.style) return;
  const e = pt(t.color) || "#000000";
  return [t.style, e];
}
function Qe(t) {
  const e = {};
  let r = !1;
  if (t.font) {
    const a = t.font;
    if ((a.name || a.size || a.bold || a.italic) && (r = !0, e.font = {}, a.name && (e.font.name = a.name), a.size && (e.font.size = a.size), a.bold && (e.font.bold = !0), a.italic && (e.font.italic = !0)), a.color) {
      const o = pt(a.color);
      o && (r = !0, e.color = o);
    }
    a.underline && (r = !0, e.underline = !0), a.strike && (r = !0, e.strike = !0);
  }
  const n = Ke(t.fill);
  if (n && (r = !0, e.bgcolor = n), t.alignment) {
    const a = t.alignment;
    a.horizontal && (r = !0, e.align = a.horizontal), a.vertical && (r = !0, e.valign = a.vertical), a.wrapText && (r = !0, e.textwrap = !0);
  }
  if (t.border) {
    const a = {};
    let o = !1;
    const l = ["top", "bottom", "left", "right"];
    for (const p of l) {
      const s = Ye(t.border[p]);
      s && (a[p] = s, o = !0);
    }
    o && (r = !0, e.border = a);
  }
  return r ? e : null;
}
function tr(t) {
  return JSON.stringify(t);
}
function er(t, e, r) {
  const n = Qe(t);
  if (!n) return -1;
  const a = tr(n), o = r.get(a);
  if (o !== void 0) return o;
  const l = e.length;
  return e.push(n), r.set(a, l), l;
}
function rr(t) {
  const e = t.value;
  if (e == null) return "";
  if (typeof e == "string") return e;
  if (typeof e == "number") return String(e);
  if (typeof e == "boolean") return e ? "TRUE" : "FALSE";
  if (e instanceof Date)
    return e.toLocaleDateString();
  if (typeof e == "object" && "formula" in e) {
    const r = e.result;
    return r != null ? String(r) : "";
  }
  return typeof e == "object" && "richText" in e ? e.richText.map((r) => r.text).join("") : typeof e == "object" && "hyperlink" in e ? e.text || "" : typeof e == "object" && "error" in e ? String(e.error) : String(e);
}
function or(t) {
  const e = t.split(":"), r = Et(e[0]), n = e[1] ? Et(e[1]) : r;
  return {
    top: r.row,
    left: r.col,
    bottom: n.row,
    right: n.col
  };
}
function Et(t) {
  const e = t.match(/^([A-Z]+)(\d+)$/);
  if (!e) return { row: 1, col: 1 };
  const r = e[1], n = parseInt(e[2], 10);
  let a = 0;
  for (let o = 0; o < r.length; o++)
    a = a * 26 + (r.charCodeAt(o) - 64);
  return { row: n, col: a };
}
function oo(t) {
  const e = [];
  return t.eachSheet((r) => {
    const n = [], a = /* @__PURE__ */ new Map(), o = [], l = {}, p = {}, s = r.columnCount;
    for (let m = 1; m <= s; m++) {
      const u = r.getColumn(m);
      u.width && (p[String(m - 1)] = { width: Math.round(u.width * 7.5) });
    }
    p.len = Math.max(s, 26);
    const f = /* @__PURE__ */ new Map(), c = r.model, d = (c == null ? void 0 : c.merges) || [];
    for (const m of d) {
      o.push(m);
      const { top: u, left: F, bottom: x, right: y } = or(m), b = x - u, M = y - F;
      f.set(`${u - 1},${F - 1}`, [b, M]);
    }
    r.eachRow({ includeEmpty: !0 }, (m, u) => {
      const F = u - 1, x = {};
      m.eachCell({ includeEmpty: !1 }, (b, M) => {
        const P = M - 1;
        if (b.isMerged && b.master !== b) return;
        const I = rr(b), z = er(b, n, a), E = { text: I };
        z !== -1 && (E.style = z);
        const S = `${F},${P}`;
        f.has(S) && (E.merge = f.get(S)), x[String(P)] = E;
      });
      const y = { cells: x };
      m.height && (y.height = Math.round(m.height * 1.333)), l[String(F)] = y;
    }), e.push({
      name: r.name,
      styles: n,
      merges: o,
      rows: l,
      cols: p
    });
  }), e;
}
function no(t, e, r = "Sheet1") {
  const n = t.length > 0, a = n ? [{ font: { bold: !0 } }] : [], o = {};
  if (n) {
    const p = {};
    t.forEach((s, f) => {
      p[String(f)] = { text: s, style: 0 };
    }), o[0] = { cells: p };
  }
  const l = n ? 1 : 0;
  return e.forEach((p, s) => {
    const f = {};
    p.forEach((c, d) => {
      c !== void 0 && c !== "" && (f[String(d)] = { text: c });
    }), o[String(s + l)] = { cells: f };
  }), [{ name: r, styles: a, rows: o }];
}
const nr = {
  // ─────── common ───────
  "common.download": "下载",
  "common.close": "关闭",
  "common.loading": "加载中",
  "common.unknown_error": "未知错误",
  "common.unsupported_preview": "不支持预览此文件类型 ({type})",
  // ─────── toolbar ───────
  "toolbar.zoom_in": "放大",
  "toolbar.zoom_out": "缩小",
  "toolbar.rotate_left": "向左旋转",
  "toolbar.rotate_right": "向右旋转",
  "toolbar.reset": "复原",
  "toolbar.fit_to_window": "适应窗口",
  "toolbar.original_size": "原始尺寸",
  "toolbar.toc": "目录",
  "toolbar.prev_page": "上一页",
  "toolbar.next_page": "下一页",
  "toolbar.full_width": "全屏宽度",
  "toolbar.normal_width": "正常宽度",
  "toolbar.wrap_on": "自动换行",
  "toolbar.wrap_off": "不换行",
  "toolbar.source": "源码",
  "toolbar.preview": "预览",
  // ─────── image ───────
  "image.load_failed": "图片加载失败",
  // ─────── pdf ───────
  "pdf.load_failed": "PDF 文件加载失败",
  // ─────── docx ───────
  "docx.parse_failed": "Word 文档解析失败",
  // ─────── xlsx ───────
  "xlsx.loading": "加载 Excel 中...",
  "xlsx.load_failed": "Excel 加载失败",
  "xlsx.parse_failed": "Excel 文件解析失败",
  "xlsx.not_found": "Excel 文件不存在",
  // ─────── pptx ───────
  "pptx.loading": "加载 PPT 中...",
  "pptx.load_failed": "PPT 加载失败",
  "pptx.parse_failed": "PPT 文件解析失败",
  "pptx.not_found": "PPT 文件不存在",
  "pptx.invalid_format": "PPT 文件格式错误或已损坏",
  "pptx.no_pages": "PPT 文件无有效页面",
  "pptx.timeout": "加载超时，请检查网络或稍后重试",
  // ─────── msg ───────
  "msg.parse_failed": "Outlook 邮件解析失败",
  "msg.parse_failed_short": "邮件解析失败",
  "msg.empty_body": "（无邮件正文）",
  // ─────── epub ───────
  "epub.load_failed": "EPUB 文件加载失败",
  // ─────── mobi ───────
  "mobi.load_failed": "电子书加载失败，文件可能已损坏或带有 DRM 保护",
  // ─────── video ───────
  "video.loading": "加载视频中...",
  "video.load_failed": "视频加载失败",
  "video.load_failed_with_error": "视频加载失败: {error}",
  // ─────── audio (aria-label) ───────
  "audio.aria.play": "播放",
  "audio.aria.pause": "暂停",
  "audio.aria.forward_10": "前进 10 秒",
  "audio.aria.backward_10": "后退 10 秒",
  "audio.aria.mute": "静音",
  "audio.aria.unmute": "取消静音",
  "audio.aria.loop_on": "开启循环",
  "audio.aria.loop_off": "关闭循环",
  "audio.aria.progress": "播放进度",
  "audio.aria.volume": "音量",
  // ─────── markdown ───────
  "markdown.load_failed": "Markdown 文件加载失败",
  "markdown.copy_code": "复制代码",
  "markdown.copied": "已复制",
  // ─────── json ───────
  "json.load_failed": "JSON 文件加载失败",
  "json.items": "items",
  "json.keys": "keys",
  // ─────── csv ───────
  "csv.loading": "加载 CSV 中...",
  "csv.load_failed": "CSV 文件加载失败",
  "csv.parse_failed": "CSV 解析失败",
  // ─────── xml ───────
  "xml.load_failed": "XML 文件加载失败",
  // ─────── subtitle / lyric ───────
  "subtitle.load_failed": "字幕文件加载失败",
  "subtitle.parse_failed": "字幕解析失败",
  "subtitle.lines": "lines",
  "subtitle.cues": "cues",
  "subtitle.meta.title": "标题",
  "subtitle.meta.artist": "艺术家",
  "subtitle.meta.album": "专辑",
  "subtitle.meta.author": "作者",
  "subtitle.meta.by": "制作",
  "subtitle.meta.length": "时长",
  "subtitle.meta.offset": "偏移",
  "subtitle.meta.editor": "编辑器",
  "subtitle.meta.version": "版本",
  // ─────── zip ───────
  "zip.load_failed": "ZIP 文件加载失败",
  "zip.parse_failed": "ZIP 解析失败",
  // ─────── text ───────
  "text.load_failed": "文本文件加载失败"
}, ar = {
  // ─────── common ───────
  "common.download": "Download",
  "common.close": "Close",
  "common.loading": "Loading",
  "common.unknown_error": "Unknown error",
  "common.unsupported_preview": "Preview not supported for this file type ({type})",
  // ─────── toolbar ───────
  "toolbar.zoom_in": "Zoom in",
  "toolbar.zoom_out": "Zoom out",
  "toolbar.rotate_left": "Rotate left",
  "toolbar.rotate_right": "Rotate right",
  "toolbar.reset": "Reset",
  "toolbar.fit_to_window": "Fit to window",
  "toolbar.original_size": "Original size",
  "toolbar.toc": "Table of contents",
  "toolbar.prev_page": "Previous page",
  "toolbar.next_page": "Next page",
  "toolbar.full_width": "Full width",
  "toolbar.normal_width": "Normal width",
  "toolbar.wrap_on": "Word wrap",
  "toolbar.wrap_off": "No wrap",
  "toolbar.source": "Source",
  "toolbar.preview": "Preview",
  // ─────── image ───────
  "image.load_failed": "Failed to load image",
  // ─────── pdf ───────
  "pdf.load_failed": "Failed to load PDF",
  // ─────── docx ───────
  "docx.parse_failed": "Failed to parse Word document",
  // ─────── xlsx ───────
  "xlsx.loading": "Loading Excel...",
  "xlsx.load_failed": "Failed to load Excel",
  "xlsx.parse_failed": "Failed to parse Excel file",
  "xlsx.not_found": "Excel file not found",
  // ─────── pptx ───────
  "pptx.loading": "Loading PPT...",
  "pptx.load_failed": "Failed to load PPT",
  "pptx.parse_failed": "Failed to parse PPT file",
  "pptx.not_found": "PPT file not found",
  "pptx.invalid_format": "PPT file format is invalid or corrupted",
  "pptx.no_pages": "PPT file has no valid pages",
  "pptx.timeout": "Loading timed out, please check your network and retry",
  // ─────── msg ───────
  "msg.parse_failed": "Failed to parse Outlook message",
  "msg.parse_failed_short": "Failed to parse message",
  "msg.empty_body": "(No message body)",
  // ─────── epub ───────
  "epub.load_failed": "Failed to load EPUB",
  // ─────── mobi ───────
  "mobi.load_failed": "Failed to load ebook — file may be corrupted or DRM-protected",
  // ─────── video ───────
  "video.loading": "Loading video...",
  "video.load_failed": "Failed to load video",
  "video.load_failed_with_error": "Failed to load video: {error}",
  // ─────── audio (aria-label) ───────
  "audio.aria.play": "Play",
  "audio.aria.pause": "Pause",
  "audio.aria.forward_10": "Forward 10 seconds",
  "audio.aria.backward_10": "Back 10 seconds",
  "audio.aria.mute": "Mute",
  "audio.aria.unmute": "Unmute",
  "audio.aria.loop_on": "Enable loop",
  "audio.aria.loop_off": "Disable loop",
  "audio.aria.progress": "Playback progress",
  "audio.aria.volume": "Volume",
  // ─────── markdown ───────
  "markdown.load_failed": "Failed to load Markdown",
  "markdown.copy_code": "Copy code",
  "markdown.copied": "Copied",
  // ─────── json ───────
  "json.load_failed": "Failed to load JSON",
  "json.items": "items",
  "json.keys": "keys",
  // ─────── csv ───────
  "csv.loading": "Loading CSV...",
  "csv.load_failed": "Failed to load CSV",
  "csv.parse_failed": "Failed to parse CSV",
  // ─────── xml ───────
  "xml.load_failed": "Failed to load XML",
  // ─────── subtitle / lyric ───────
  "subtitle.load_failed": "Failed to load subtitle",
  "subtitle.parse_failed": "Failed to parse subtitle",
  "subtitle.lines": "lines",
  "subtitle.cues": "cues",
  "subtitle.meta.title": "Title",
  "subtitle.meta.artist": "Artist",
  "subtitle.meta.album": "Album",
  "subtitle.meta.author": "Author",
  "subtitle.meta.by": "By",
  "subtitle.meta.length": "Length",
  "subtitle.meta.offset": "Offset",
  "subtitle.meta.editor": "Editor",
  "subtitle.meta.version": "Version",
  // ─────── zip ───────
  "zip.load_failed": "Failed to load ZIP",
  "zip.parse_failed": "Failed to parse ZIP",
  // ─────── text ───────
  "text.load_failed": "Failed to load text file"
}, K = {
  "zh-CN": nr,
  "en-US": ar
}, ir = /\{(\w+)\}/g;
function sr(t, e) {
  return e ? t.replace(ir, (r, n) => {
    const a = e[n];
    return a === void 0 ? `{${n}}` : String(a);
  }) : t;
}
function ft(t) {
  var e;
  const r = t.fallbackLocale ?? "zh-CN", n = K[t.locale] ?? K[r] ?? K["zh-CN"], a = (e = t.messages) == null ? void 0 : e[t.locale], o = a ? { ...n, ...a } : n, l = K["zh-CN"];
  return (p, s) => {
    const f = o[p] ?? l[p] ?? p;
    return sr(f, s);
  };
}
const ct = jt(null), lr = ({
  locale: t = "zh-CN",
  messages: e,
  children: r
}) => {
  const n = G(() => {
    const a = ft({ locale: t, messages: e });
    return { locale: t, t: a };
  }, [t, e]);
  return /* @__PURE__ */ i(ct.Provider, { value: n, children: r });
};
let nt = null;
function pr() {
  return nt || (nt = ft({ locale: "zh-CN" })), nt;
}
function Ht() {
  const t = it(ct);
  return (t == null ? void 0 : t.t) ?? pr();
}
function ao() {
  const t = it(ct);
  return (t == null ? void 0 : t.locale) ?? "zh-CN";
}
const Ut = jt(null), fr = ({ theme: t, children: e }) => /* @__PURE__ */ i(Ut.Provider, { value: t, children: e });
function io() {
  return it(Ut) ?? "dark";
}
const cr = ({ className: t }) => /* @__PURE__ */ i(
  "svg",
  {
    xmlns: "http://www.w3.org/2000/svg",
    viewBox: "0 0 24 24",
    fill: "none",
    stroke: "currentColor",
    strokeWidth: "2",
    strokeLinecap: "round",
    strokeLinejoin: "round",
    className: t,
    children: /* @__PURE__ */ i("text", { x: "12", y: "17.5", textAnchor: "middle", fontSize: "20", fontWeight: "bold", fill: "currentColor", stroke: "none", children: "1:1" })
  }
);
function dr(t) {
  return [
    {
      items: [
        { type: "button", icon: /* @__PURE__ */ i(Wt, { className: "rfp-w-4 rfp-h-4" }), tooltip: t.t("toolbar.zoom_out"), action: t.onZoomOut, disabled: t.zoom <= 0.01 },
        { type: "text", content: `${Math.round(t.zoom * 100)}%`, minWidth: "3rem" },
        { type: "button", icon: /* @__PURE__ */ i(Lt, { className: "rfp-w-4 rfp-h-4" }), tooltip: t.t("toolbar.zoom_in"), action: t.onZoomIn, disabled: t.zoom >= 10 }
      ]
    },
    {
      items: [
        { type: "button", icon: /* @__PURE__ */ i(Me, { className: "rfp-w-4 rfp-h-4" }), tooltip: t.t("toolbar.fit_to_window"), action: t.onFitToWidth },
        { type: "button", icon: /* @__PURE__ */ i(cr, { className: "rfp-w-4 rfp-h-4" }), tooltip: t.t("toolbar.original_size"), action: t.onOriginalSize }
      ]
    },
    {
      items: [
        { type: "button", icon: /* @__PURE__ */ i(Te, { className: "rfp-w-4 rfp-h-4" }), tooltip: t.t("toolbar.rotate_left"), action: t.onRotateLeft },
        { type: "button", icon: /* @__PURE__ */ i(Re, { className: "rfp-w-4 rfp-h-4" }), tooltip: t.t("toolbar.rotate_right"), action: t.onRotateRight }
      ]
    },
    {
      items: [
        { type: "button", icon: /* @__PURE__ */ i($t, { className: "rfp-w-4 rfp-h-4" }), tooltip: t.t("toolbar.reset"), action: t.onReset }
      ]
    }
  ];
}
function ur(t) {
  return [
    {
      items: [
        { type: "button", icon: /* @__PURE__ */ i(Wt, { className: "rfp-w-4 rfp-h-4" }), tooltip: t.t("toolbar.zoom_out"), action: t.onZoomOut, disabled: t.zoom <= 0.01 },
        { type: "text", content: `${Math.round(t.zoom * 100)}%`, minWidth: "3rem" },
        { type: "button", icon: /* @__PURE__ */ i(Lt, { className: "rfp-w-4 rfp-h-4" }), tooltip: t.t("toolbar.zoom_in"), action: t.onZoomIn, disabled: t.zoom >= 10 }
      ]
    },
    {
      items: [
        { type: "button", icon: /* @__PURE__ */ i($t, { className: "rfp-w-4 rfp-h-4" }), tooltip: t.t("toolbar.reset"), action: t.onReset }
      ]
    }
  ];
}
function mr(t) {
  return [
    {
      items: [
        { type: "button", icon: /* @__PURE__ */ i(Dt, { className: "rfp-w-4 rfp-h-4" }), tooltip: t.t("toolbar.toc"), action: () => {
          var e;
          return (e = t.epubRef.current) == null ? void 0 : e.toggleToc();
        } }
      ]
    },
    {
      items: [
        { type: "button", icon: /* @__PURE__ */ i(st, { className: "rfp-w-4 rfp-h-4" }), tooltip: t.t("toolbar.prev_page"), action: () => {
          var e;
          return (e = t.epubRef.current) == null ? void 0 : e.prevPage();
        } },
        { type: "text", content: `${t.current} / ${t.total}`, minWidth: "4rem" },
        { type: "button", icon: /* @__PURE__ */ i(lt, { className: "rfp-w-4 rfp-h-4" }), tooltip: t.t("toolbar.next_page"), action: () => {
          var e;
          return (e = t.epubRef.current) == null ? void 0 : e.nextPage();
        } }
      ]
    },
    {
      items: [
        {
          type: "button",
          icon: t.fullWidth ? /* @__PURE__ */ i(Zt, { className: "rfp-w-4 rfp-h-4" }) : /* @__PURE__ */ i(At, { className: "rfp-w-4 rfp-h-4" }),
          tooltip: t.fullWidth ? t.t("toolbar.normal_width") : t.t("toolbar.full_width"),
          action: () => {
            var e;
            return (e = t.epubRef.current) == null ? void 0 : e.toggleFullWidth();
          }
        }
      ]
    }
  ];
}
function hr(t) {
  return [
    {
      items: [
        {
          type: "button",
          icon: /* @__PURE__ */ i(Dt, { className: "rfp-w-4 rfp-h-4" }),
          tooltip: t.t("toolbar.toc"),
          action: () => {
            var e;
            return (e = t.mobiRef.current) == null ? void 0 : e.toggleToc();
          }
        }
      ]
    },
    {
      items: [
        {
          type: "button",
          icon: /* @__PURE__ */ i(st, { className: "rfp-w-4 rfp-h-4" }),
          tooltip: t.t("toolbar.prev_page"),
          action: () => {
            var e;
            return (e = t.mobiRef.current) == null ? void 0 : e.prevPage();
          }
        },
        {
          type: "text",
          content: `${t.current} / ${t.total}`,
          minWidth: "4rem"
        },
        {
          type: "button",
          icon: /* @__PURE__ */ i(lt, { className: "rfp-w-4 rfp-h-4" }),
          tooltip: t.t("toolbar.next_page"),
          action: () => {
            var e;
            return (e = t.mobiRef.current) == null ? void 0 : e.nextPage();
          }
        }
      ]
    },
    {
      items: [
        {
          type: "button",
          icon: t.fullWidth ? /* @__PURE__ */ i(Zt, { className: "rfp-w-4 rfp-h-4" }) : /* @__PURE__ */ i(At, { className: "rfp-w-4 rfp-h-4" }),
          tooltip: t.fullWidth ? t.t("toolbar.normal_width") : t.t("toolbar.full_width"),
          action: () => {
            var e;
            return (e = t.mobiRef.current) == null ? void 0 : e.toggleFullWidth();
          }
        }
      ]
    }
  ];
}
function gr({ stats: t }) {
  return t ? [
    {
      items: [
        {
          type: "text",
          content: `${t.files} files · ${t.dirs} dirs · ${Ae(t.size)}`,
          minWidth: "10rem"
        }
      ]
    }
  ] : [];
}
function br(t) {
  const e = [
    {
      items: [
        {
          type: "button",
          icon: /* @__PURE__ */ i(Pe, { className: "rfp-w-4 rfp-h-4" }),
          tooltip: t.wordWrap ? t.t("toolbar.wrap_off") : t.t("toolbar.wrap_on"),
          action: t.onToggleWrap
        }
      ]
    }
  ];
  return t.isHtml && e.push({
    items: [
      {
        type: "button",
        icon: t.htmlPreview ? /* @__PURE__ */ i(Ot, { className: "rfp-w-4 rfp-h-4" }) : /* @__PURE__ */ i(It, { className: "rfp-w-4 rfp-h-4" }),
        tooltip: t.htmlPreview ? t.t("toolbar.source") : t.t("toolbar.preview"),
        action: t.onToggleHtmlPreview
      }
    ]
  }), e;
}
function wr(t) {
  return [
    {
      items: [
        {
          type: "button",
          icon: t.viewMode === "preview" ? /* @__PURE__ */ i(Ot, { className: "rfp-w-4 rfp-h-4" }) : /* @__PURE__ */ i(It, { className: "rfp-w-4 rfp-h-4" }),
          tooltip: t.viewMode === "preview" ? t.t("toolbar.source") : t.t("toolbar.preview"),
          action: t.onToggleViewMode
        }
      ]
    }
  ];
}
const xr = k(
  () => import("./index-Cpk1RStU.mjs").then((t) => ({ default: t.ImageRenderer }))
), vr = k(
  () => import("./index-BtdmiRRJ.mjs").then((t) => ({ default: t.PdfRenderer }))
), yr = k(
  () => import("./index-DmL2F9gH.mjs").then((t) => ({ default: t.DocxRenderer }))
), Fr = k(
  () => import("./index-BJoYaujz.mjs").then((t) => ({ default: t.XlsxRenderer }))
), _r = k(
  () => import("./index-ClCtUSEI.mjs").then((t) => ({ default: t.PptxRenderer }))
), kr = k(
  () => import("./index-BqOX6zlZ.mjs").then((t) => ({ default: t.MsgRenderer }))
), Cr = k(
  () => import("./index-BPuxADap.mjs").then((t) => ({ default: t.EpubRenderer }))
), Nr = k(
  () => import("./index-tH_f5uEK.mjs").then((t) => ({ default: t.MobiRenderer }))
), Mr = k(
  () => import("./index-CuNzcYw0.mjs").then((t) => ({ default: t.VideoRenderer }))
), Tr = k(
  () => import("./index-CqpRBMiE.mjs").then((t) => ({ default: t.AudioRenderer }))
), Rr = k(
  () => import("./index-BMVH5kfz.mjs").then((t) => ({ default: t.MarkdownRenderer }))
), Pr = k(
  () => import("./index-BeXx86As.mjs").then((t) => ({ default: t.JsonRenderer }))
), zr = k(
  () => import("./index-CuhaFmuJ.mjs").then((t) => ({ default: t.CsvRenderer }))
), Er = k(
  () => import("./index-CjaLs3J_.mjs").then((t) => ({ default: t.XmlRenderer }))
), Sr = k(
  () => import("./index-j3RDh5hd.mjs").then((t) => ({ default: t.SubtitleRenderer }))
), jr = k(
  () => import("./index-P9qAkKfO.mjs").then((t) => ({ default: t.ZipRenderer }))
), Wr = k(
  () => import("./index-DB41zu6Q.mjs").then((t) => ({ default: t.TextRenderer }))
), St = ({
  fileName: t,
  fileType: e,
  onDownload: r
}) => {
  const n = Ht();
  return /* @__PURE__ */ N("div", { className: "rfp-flex rfp-flex-col rfp-items-center rfp-justify-center rfp-w-full rfp-h-full rfp-p-8 rfp-gap-6", children: [
    /* @__PURE__ */ i("div", { className: "rfp-w-32 rfp-h-32 rfp-rounded-full rfp-bg-surface-2 rfp-flex rfp-items-center rfp-justify-center", children: /* @__PURE__ */ i(ze, { className: "rfp-w-16 rfp-h-16 rfp-text-fg-secondary" }) }),
    /* @__PURE__ */ N("div", { className: "rfp-text-fg-primary rfp-text-center", children: [
      /* @__PURE__ */ i("p", { className: "rfp-text-xl rfp-font-medium rfp-mb-2", children: t }),
      /* @__PURE__ */ i("p", { className: "rfp-text-fg-secondary", children: n("common.unsupported_preview", { type: e }) })
    ] }),
    /* @__PURE__ */ N(
      "button",
      {
        onClick: r,
        className: "rfp-flex rfp-items-center rfp-gap-2 rfp-px-6 rfp-py-3 rfp-bg-surface-2 hover:rfp-bg-surface-3 rfp-backdrop-blur-sm rfp-rounded-lg rfp-text-fg-primary rfp-font-medium rfp-transition-all",
        children: [
          /* @__PURE__ */ i(Vt, { className: "rfp-w-5 rfp-h-5" }),
          n("common.download")
        ]
      }
    )
  ] });
}, Lr = () => {
  const t = Ht();
  return /* @__PURE__ */ i("div", { className: "rfp-flex rfp-items-center rfp-justify-center rfp-w-full rfp-h-full rfp-text-fg-muted", children: /* @__PURE__ */ N("div", { className: "rfp-flex rfp-flex-col rfp-items-center rfp-gap-3", children: [
    /* @__PURE__ */ i("div", { className: "rfp-w-8 rfp-h-8 rfp-rounded-full rfp-border-2 rfp-border-fg-muted rfp-border-t-transparent rfp-animate-spin" }),
    /* @__PURE__ */ i("span", { className: "rfp-text-sm", children: t("common.loading") ?? "Loading..." })
  ] }) });
}, $r = 3, dt = ({
  files: t,
  currentIndex: e,
  onNavigate: r,
  customRenderers: n = [],
  mode: a = "modal",
  onClose: o,
  zipNestingDepth: l = 0,
  locale: p = "zh-CN",
  messages: s,
  headless: f = !1,
  theme: c = "dark",
  onCustomEvent: d
}) => {
  const m = G(
    () => ft({ locale: p, messages: s }),
    [p, s]
  ), [u, F] = _(
    () => typeof window < "u" ? window.matchMedia("(prefers-color-scheme: dark)").matches : !0
  );
  W(() => {
    if (c !== "auto") return;
    const h = window.matchMedia("(prefers-color-scheme: dark)"), v = (T) => F(T.matches);
    return h.addEventListener("change", v), () => h.removeEventListener("change", v);
  }, [c]);
  const x = c === "auto" ? u ? "dark" : "light" : c, [y, b] = _(1), [M, P] = _(0), [I, z] = _(1), [, E] = _(1), [S, Q] = _(0), [Z, ut] = _(0), [Gt, tt] = _(0), L = H(null), mt = H(null), ht = H(null), [Xt, qt] = _(0), [Jt, Kt] = _(0), [Yt, Qt] = _(!1), gt = H(null), [te, ee] = _(0), [re, oe] = _(0), [ne, ae] = _(!1), [ie, se] = _(null), [bt, le] = _(!0), [wt, pe] = _(!1), [xt, fe] = _("preview"), [A, V] = _(!0), $ = H(null), ce = 2e3, X = C(() => {
    V(!0), $.current && clearTimeout($.current), $.current = window.setTimeout(() => {
      V(!1);
    }, ce);
  }, []), de = C(() => {
    X();
  }, [X]), j = G(() => De(t), [t]), g = j[e], O = G(() => g ? n.find((h) => h.test(g)) : null, [g, n]), w = g ? Ze(g) : "unsupported", vt = C(
    (h, v) => {
      g && (d == null || d({ name: h, payload: v, file: g }));
    },
    [g, d]
  ), yt = G(
    () => ({
      emit: vt,
      t: m,
      theme: x,
      locale: p
    }),
    [vt, m, x, p]
  );
  W(() => {
    b(1), P(0), z(1), E(1), Q(0), ut(0), V(!0), $.current && clearTimeout($.current);
  }, [e]), W(() => {
    if (w === "image" && S > 0 && Z > 0 && L.current) {
      const h = L.current.clientWidth, v = L.current.clientHeight, T = h / S, R = v / Z, B = Math.min(T, R);
      b(Math.max(0.01, Math.min(10, B)));
    }
  }, [w, S, Z]), W(() => (j.length > 1 && X(), () => {
    $.current && clearTimeout($.current);
  }), [j.length, X]), W(() => {
    const h = (v) => {
      v.key === "Escape" && a === "modal" ? o == null || o() : v.key === "ArrowLeft" && e > 0 ? r == null || r(e - 1) : v.key === "ArrowRight" && e < j.length - 1 && (r == null || r(e + 1));
    };
    if (a === "modal")
      return window.addEventListener("keydown", h), () => window.removeEventListener("keydown", h);
    {
      const v = mt.current;
      return v ? (v.addEventListener("keydown", h), () => v.removeEventListener("keydown", h)) : void 0;
    }
  }, [a, e, j.length, o, r]);
  const Ft = C(() => {
    b((h) => Math.min(h + 0.1, 10));
  }, []), _t = C(() => {
    b((h) => Math.max(h - 0.1, 0.01));
  }, []), ue = C(() => {
    P((h) => h + 90);
  }, []), me = C(() => {
    P((h) => h - 90);
  }, []), he = C(() => {
    if (L.current && S > 0 && Z > 0) {
      const h = L.current.clientWidth, v = L.current.clientHeight, T = h / S, R = v / Z, B = Math.min(T, R);
      b(Math.max(0.01, Math.min(10, B)));
    } else
      b(1);
    P(0), tt((h) => h + 1);
  }, [S, Z]), ge = C(() => {
    b(1), P(0), tt((h) => h + 1);
  }, []), be = C((h) => {
    b(h);
  }, []), kt = C(() => {
    b(1), P(0), tt((h) => h + 1);
  }, []), et = C(() => {
    if (!g) return;
    const h = document.createElement("a");
    h.href = g.url, h.download = g.name, h.click();
  }, [g]), we = C((h, v) => {
    qt(h), Kt(v);
  }, []), xe = C((h, v) => {
    ee(h), oe(v);
  }, []), ve = C((h) => {
    se(h);
  }, []);
  if (!g) return null;
  const ye = a === "modal" && !!o, q = (() => {
    var h, v;
    if (O)
      return ((h = O.getToolbarGroups) == null ? void 0 : h.call(O, g, yt)) ?? [];
    if (w === "image")
      return dr({
        zoom: y,
        onZoomIn: Ft,
        onZoomOut: _t,
        onFitToWidth: he,
        onOriginalSize: ge,
        onRotateLeft: me,
        onRotateRight: ue,
        onReset: kt,
        t: m
      });
    if (w === "pdf")
      return ur({
        zoom: y,
        onZoomIn: Ft,
        onZoomOut: _t,
        onReset: kt,
        t: m
      });
    if (w === "epub")
      return mr({
        epubRef: ht,
        current: Xt,
        total: Jt,
        fullWidth: Yt,
        t: m
      });
    if (w === "mobi")
      return hr({
        mobiRef: gt,
        current: te,
        total: re,
        fullWidth: ne,
        t: m
      });
    if (w === "zip")
      return gr({ stats: ie });
    if (w === "text") {
      const T = ((v = g.name.split(".").pop()) == null ? void 0 : v.toLowerCase()) || "";
      return br({
        wordWrap: bt,
        onToggleWrap: () => le((R) => !R),
        isHtml: T === "html" || T === "htm",
        htmlPreview: wt,
        onToggleHtmlPreview: () => pe((R) => !R),
        t: m
      });
    }
    return w === "markdown" ? wr({
      viewMode: xt,
      onToggleViewMode: () => fe((T) => T === "preview" ? "source" : "preview"),
      t: m
    }) : [];
  })(), Ct = [
    {
      items: [
        { type: "button", icon: /* @__PURE__ */ i(Vt, { className: "rfp-w-4 rfp-h-4" }), tooltip: m("common.download"), action: et }
      ]
    },
    ...ye ? [{
      items: [
        { type: "button", icon: /* @__PURE__ */ i(Ee, { className: "rfp-w-4 rfp-h-4" }), tooltip: m("common.close"), action: o }
      ]
    }] : []
  ], J = (h, v) => h.map((T, R, B) => /* @__PURE__ */ N(_e.Fragment, { children: [
    T.items.map(
      (D, Nt) => D.type === "button" ? /* @__PURE__ */ i(
        Dr,
        {
          icon: D.icon,
          label: D.tooltip,
          onClick: D.action,
          disabled: D.disabled
        },
        `${R}-${Nt}`
      ) : /* @__PURE__ */ i(
        "span",
        {
          className: "rfp-text-xs rfp-text-center rfp-font-medium rfp-tabular-nums rfp-text-fg-tertiary",
          style: { minWidth: D.minWidth || "auto" },
          children: D.content
        },
        `${R}-${Nt}`
      )
    ),
    R < B.length - 1 && /* @__PURE__ */ i("div", { className: `rfp-w-px rfp-h-4 rfp-bg-divide ${v}` })
  ] }, R));
  return /* @__PURE__ */ i(lr, { locale: p, messages: s, children: /* @__PURE__ */ i(fr, { theme: x, children: /* @__PURE__ */ N(
    "div",
    {
      ref: mt,
      tabIndex: a === "embed" ? 0 : -1,
      "data-theme": x,
      className: "rfp-relative rfp-w-full rfp-h-full rfp-flex rfp-flex-col rfp-overflow-hidden rfp-outline-none",
      children: [
        !f && /* @__PURE__ */ N(
          Y.div,
          {
            initial: { opacity: 0 },
            animate: { opacity: 1 },
            exit: { opacity: 0 },
            className: "rfp-flex-shrink-0 rfp-z-10 rfp-backdrop-blur-md rfp-border-b rfp-bg-surface-toolbar rfp-border-line",
            style: { paddingTop: "env(safe-area-inset-top, 0px)" },
            children: [
              /* @__PURE__ */ N("div", { className: "rfp-flex rfp-items-center rfp-justify-between rfp-px-3 md:rfp-px-5 rfp-py-1.5 md:rfp-py-2.5", children: [
                /* @__PURE__ */ N("div", { className: "rfp-flex rfp-items-center rfp-flex-1 rfp-min-w-0 rfp-mr-2 md:rfp-mr-3", children: [
                  /* @__PURE__ */ i("h2", { className: "rfp-font-medium rfp-text-xs md:rfp-text-sm rfp-truncate rfp-text-fg-primary", children: g.name }),
                  /* @__PURE__ */ N("span", { className: "rfp-text-xs rfp-ml-2 rfp-flex-shrink-0 rfp-text-fg-muted", children: [
                    e + 1,
                    "/",
                    j.length
                  ] })
                ] }),
                /* @__PURE__ */ i("div", { className: "rfp-flex rfp-items-center rfp-gap-1 md:rfp-hidden rfp-flex-shrink-0", children: J(Ct, "rfp-mx-0.5") }),
                /* @__PURE__ */ N("div", { className: "rfp-hidden md:rfp-flex rfp-items-center rfp-gap-1 rfp-flex-shrink-0", children: [
                  J(q, "rfp-mx-1"),
                  q.length > 0 && /* @__PURE__ */ i("div", { className: "rfp-w-px rfp-h-4 rfp-mx-1 rfp-bg-divide" }),
                  J(Ct, "rfp-mx-1")
                ] })
              ] }),
              q.length > 0 && /* @__PURE__ */ i("div", { className: "rfp-flex rfp-items-center rfp-gap-1 rfp-px-3 rfp-pb-1.5 rfp-overflow-x-auto scrollbar-hide md:rfp-hidden", children: J(q, "rfp-mx-0.5") })
            ]
          }
        ),
        /* @__PURE__ */ i(
          "div",
          {
            ref: L,
            className: "rfp-flex-1 rfp-flex rfp-items-center rfp-justify-center rfp-overflow-auto",
            onMouseMove: de,
            children: O ? O.render(g, yt) : /* @__PURE__ */ N(ke, { fallback: /* @__PURE__ */ i(Lr, {}), children: [
              w === "image" && /* @__PURE__ */ i(
                xr,
                {
                  url: g.url,
                  zoom: y,
                  rotation: M,
                  resetKey: Gt,
                  fileSize: g.size,
                  onZoomChange: be,
                  onNaturalWidthChange: Q,
                  onNaturalHeightChange: ut
                }
              ),
              w === "pdf" && /* @__PURE__ */ i(
                vr,
                {
                  url: g.url,
                  zoom: y,
                  currentPage: I,
                  onPageChange: z,
                  onTotalPagesChange: E,
                  onPageWidthChange: Q
                }
              ),
              w === "docx" && /* @__PURE__ */ i(yr, { url: g.url }),
              w === "xlsx" && /* @__PURE__ */ i(Fr, { url: g.url }),
              w === "pptx" && /* @__PURE__ */ i(_r, { url: g.url }),
              w === "msg" && /* @__PURE__ */ i(kr, { url: g.url }),
              w === "epub" && /* @__PURE__ */ i(
                Cr,
                {
                  ref: ht,
                  url: g.url,
                  onChapterChange: we,
                  onFullWidthChange: Qt
                }
              ),
              w === "mobi" && /* @__PURE__ */ i(
                Nr,
                {
                  ref: gt,
                  url: g.url,
                  onChapterChange: xe,
                  onFullWidthChange: ae
                }
              ),
              w === "video" && /* @__PURE__ */ i(Mr, { url: g.url }),
              w === "audio" && /* @__PURE__ */ i(Tr, { url: g.url, fileName: g.name }),
              w === "markdown" && /* @__PURE__ */ i(Rr, { url: g.url, viewMode: xt }),
              w === "json" && /* @__PURE__ */ i(Pr, { url: g.url, fileName: g.name }),
              w === "csv" && /* @__PURE__ */ i(zr, { url: g.url, fileName: g.name }),
              w === "xml" && /* @__PURE__ */ i(Er, { url: g.url, fileName: g.name }),
              w === "subtitle" && /* @__PURE__ */ i(Sr, { url: g.url, fileName: g.name }),
              w === "zip" && (l >= $r ? /* @__PURE__ */ i(
                St,
                {
                  fileName: g.name,
                  fileType: g.type,
                  onDownload: et
                }
              ) : /* @__PURE__ */ i(jr, { url: g.url, onStatsChange: ve, nestingDepth: l })),
              w === "text" && /* @__PURE__ */ i(
                Wr,
                {
                  url: g.url,
                  fileName: g.name,
                  wordWrap: bt,
                  htmlPreview: wt
                }
              ),
              w === "unsupported" && /* @__PURE__ */ i(
                St,
                {
                  fileName: g.name,
                  fileType: g.type,
                  onDownload: et
                }
              )
            ] })
          }
        ),
        !f && j.length > 1 && /* @__PURE__ */ N(Fe, { children: [
          e > 0 && /* @__PURE__ */ i(
            Y.button,
            {
              initial: { opacity: 0 },
              animate: { opacity: A ? 1 : 0, x: A ? 0 : -20 },
              transition: { duration: 0.2 },
              onClick: () => r == null ? void 0 : r(e - 1),
              onMouseEnter: () => V(!0),
              style: { pointerEvents: A ? "auto" : "none" },
              className: "rfp-absolute rfp-z-20 rfp-left-2 md:rfp-left-4 rfp-top-1/2 -rfp-translate-y-1/2 rfp-w-10 rfp-h-10 md:rfp-w-12 md:rfp-h-12 rfp-rounded-full rfp-backdrop-blur-xl rfp-border rfp-flex rfp-items-center rfp-justify-center rfp-transition-colors rfp-shadow-2xl rfp-bg-surface-nav rfp-border-line hover:rfp-bg-surface-nav-hover rfp-text-fg-primary",
              children: /* @__PURE__ */ i(st, { className: "rfp-w-5 rfp-h-5 md:rfp-w-6 md:rfp-h-6" })
            }
          ),
          e < j.length - 1 && /* @__PURE__ */ i(
            Y.button,
            {
              initial: { opacity: 0 },
              animate: { opacity: A ? 1 : 0, x: A ? 0 : 20 },
              transition: { duration: 0.2 },
              onClick: () => r == null ? void 0 : r(e + 1),
              onMouseEnter: () => V(!0),
              style: { pointerEvents: A ? "auto" : "none" },
              className: "rfp-absolute rfp-z-20 rfp-right-2 md:rfp-right-4 rfp-top-1/2 -rfp-translate-y-1/2 rfp-w-10 rfp-h-10 md:rfp-w-12 md:rfp-h-12 rfp-rounded-full rfp-backdrop-blur-xl rfp-border rfp-flex rfp-items-center rfp-justify-center rfp-transition-colors rfp-shadow-2xl rfp-bg-surface-nav rfp-border-line hover:rfp-bg-surface-nav-hover rfp-text-fg-primary",
              children: /* @__PURE__ */ i(lt, { className: "rfp-w-5 rfp-h-5 md:rfp-w-6 md:rfp-h-6" })
            }
          )
        ] })
      ]
    }
  ) }) });
}, Dr = ({ icon: t, label: e, onClick: r, disabled: n }) => /* @__PURE__ */ N(
  "button",
  {
    onClick: r,
    disabled: n,
    className: `rfp-relative rfp-group rfp-p-2 md:rfp-p-1.5 rfp-rounded-md rfp-transition-all rfp-select-none ${n ? "rfp-text-fg-disabled rfp-cursor-not-allowed" : "rfp-text-fg-primary hover:rfp-bg-surface-2 active:rfp-bg-surface-3"}`,
    children: [
      t,
      /* @__PURE__ */ N("span", { className: "rfp-absolute rfp-left-1/2 -rfp-translate-x-1/2 rfp-top-full rfp-mt-1.5 rfp-px-2 rfp-py-1 rfp-text-xs rfp-rounded rfp-whitespace-nowrap rfp-pointer-events-none rfp-opacity-0 rfp-invisible group-hover:rfp-opacity-100 group-hover:rfp-visible rfp-transition-opacity rfp-duration-200 rfp-z-50 rfp-bg-fg-primary rfp-text-fg-inverse", children: [
        /* @__PURE__ */ i("span", { className: "rfp-absolute rfp-left-1/2 -rfp-translate-x-1/2 -rfp-top-1 rfp-w-2 rfp-h-2 rfp-rotate-45 rfp-bg-fg-primary" }),
        /* @__PURE__ */ i("span", { className: "rfp-relative", children: e })
      ] })
    ]
  }
), so = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
  __proto__: null,
  FilePreviewContent: dt
}, Symbol.toStringTag, { value: "Module" })), lo = ({
  files: t,
  currentIndex: e,
  isOpen: r,
  onClose: n,
  onNavigate: a,
  customRenderers: o = [],
  locale: l,
  messages: p,
  headless: s,
  theme: f = "dark",
  onCustomEvent: c
}) => {
  const [d, m] = _(
    () => typeof window < "u" ? window.matchMedia("(prefers-color-scheme: dark)").matches : !0
  );
  W(() => {
    if (f !== "auto") return;
    const x = window.matchMedia("(prefers-color-scheme: dark)"), y = (b) => m(b.matches);
    return x.addEventListener("change", y), () => x.removeEventListener("change", y);
  }, [f]);
  const u = f === "auto" ? d ? "dark" : "light" : f;
  if (W(() => {
    if (r) {
      const x = document.body.style.overflow, y = document.body.style.paddingRight, b = window.innerWidth - document.documentElement.clientWidth;
      return document.body.style.overflow = "hidden", b > 0 && (document.body.style.paddingRight = `${b}px`), () => {
        document.body.style.overflow = x, document.body.style.paddingRight = y;
      };
    }
  }, [r]), !r) return null;
  const F = /* @__PURE__ */ i("div", { className: "rfp-root", "data-theme": u, children: /* @__PURE__ */ i(Ne, { children: r && /* @__PURE__ */ i(
    Y.div,
    {
      initial: { opacity: 0 },
      animate: { opacity: 1 },
      exit: { opacity: 0 },
      className: "rfp-fixed rfp-inset-0 rfp-z-[9999] rfp-flex rfp-items-center rfp-justify-center rfp-backdrop-blur-md rfp-overflow-hidden rfp-bg-surface-overlay",
      onClick: n,
      onWheel: (x) => x.stopPropagation(),
      children: /* @__PURE__ */ i(
        "div",
        {
          className: "rfp-relative rfp-w-full rfp-h-full",
          onClick: (x) => x.stopPropagation(),
          children: /* @__PURE__ */ i(
            dt,
            {
              mode: "modal",
              files: t,
              currentIndex: e,
              onClose: n,
              onNavigate: a,
              customRenderers: o,
              locale: l,
              messages: p,
              headless: s,
              theme: f,
              onCustomEvent: c
            }
          )
        }
      )
    }
  ) }) });
  return Ce(F, document.body);
}, po = ({
  files: t,
  currentIndex: e = 0,
  onNavigate: r,
  customRenderers: n = [],
  width: a = "100%",
  height: o = "100%",
  className: l,
  style: p,
  locale: s,
  messages: f,
  headless: c,
  theme: d = "dark",
  onCustomEvent: m
}) => {
  const [u, F] = _(
    () => typeof window < "u" ? window.matchMedia("(prefers-color-scheme: dark)").matches : !0
  );
  W(() => {
    if (d !== "auto") return;
    const y = window.matchMedia("(prefers-color-scheme: dark)"), b = (M) => F(M.matches);
    return y.addEventListener("change", b), () => y.removeEventListener("change", b);
  }, [d]);
  const x = d === "auto" ? u ? "dark" : "light" : d;
  return /* @__PURE__ */ i(
    "div",
    {
      className: `rfp-root ${l ?? ""}`,
      style: { width: a, height: o, ...p },
      "data-theme": x,
      children: /* @__PURE__ */ i("div", { className: "rfp-relative rfp-w-full rfp-h-full rfp-overflow-hidden rfp-bg-surface-overlay", children: /* @__PURE__ */ i(
        dt,
        {
          mode: "embed",
          files: t,
          currentIndex: e,
          onNavigate: r,
          customRenderers: n,
          locale: s,
          messages: f,
          headless: c,
          theme: d,
          onCustomEvent: m
        }
      ) })
    }
  );
};
function Zr(t) {
  if (typeof window > "u") return;
  const {
    workerSrc: e = `https://unpkg.com/pdfjs-dist@${U.version}/build/pdf.worker.min.mjs`,
    cMapUrl: r = `https://unpkg.com/pdfjs-dist@${U.version}/cmaps/`,
    cMapPacked: n = !0
  } = t || {};
  U.GlobalWorkerOptions.workerSrc = e, U.GlobalWorkerOptions.cMapUrl = r, U.GlobalWorkerOptions.cMapPacked = n;
}
Zr();
const fo = We.version;
export {
  oo as C,
  Qr as F,
  $e as I,
  lr as L,
  fo as V,
  ro as _,
  io as a,
  Yr as b,
  rt as c,
  Ze as d,
  Gr as e,
  dt as f,
  qr as g,
  Jr as h,
  po as i,
  lo as j,
  no as k,
  Zr as l,
  Xr as m,
  De as n,
  ao as o,
  Ae as p,
  so as q,
  Ht as u,
  to as v,
  eo as w,
  Kr as x
};
//# sourceMappingURL=index-Bk6WqXgW.mjs.map
