{"version":3,"file":"rawLoader-0mLvxCNp-CJmERiK7.mjs","sources":["../../../file-preview-core/lib/rawLoader-0mLvxCNp.js"],"sourcesContent":["const p = /* @__PURE__ */ new Set([\n  \"image/x-canon-cr2\",\n  \"image/x-nikon-nef\",\n  \"image/x-sony-arw\",\n  \"image/x-adobe-dng\",\n  \"image/x-fuji-raf\",\n  \"image/x-olympus-orf\"\n]);\nasync function b(r) {\n  const e = new Uint8Array(r);\n  if (e.length < 8) return null;\n  let a;\n  if (e[0] === 73 && e[1] === 73)\n    a = !0;\n  else if (e[0] === 77 && e[1] === 77)\n    a = !1;\n  else\n    return w(e);\n  const l = new DataView(r), t = (o) => l.getUint16(o, a), f = (o) => l.getUint32(o, a);\n  if (t(2) !== 42)\n    return w(e);\n  let n = f(4), i = 0, s = 0;\n  for (let o = 0; o < 10 && n !== 0 && n + 2 < e.length; o++) {\n    const h = t(n);\n    let c = 0, g = 0;\n    for (let u = 0; u < h; u++) {\n      const d = n + 2 + u * 12;\n      if (d + 12 > e.length) break;\n      const j = t(d), x = d + 8;\n      j === 513 ? c = f(x) : j === 514 && (g = f(x));\n    }\n    c > 0 && g > s && c + g <= e.length && (i = c, s = g);\n    const m = n + 2 + h * 12;\n    if (m + 4 > e.length) break;\n    n = f(m);\n  }\n  return i > 0 && s > 0 ? new Blob([e.slice(i, i + s)], {\n    type: \"image/jpeg\"\n  }) : w(e);\n}\nfunction w(r) {\n  let e = -1, a = -1, l = 0;\n  for (let t = 0; t < r.length - 4; t++)\n    if (r[t] === 255 && r[t + 1] === 216 && r[t + 2] === 255) {\n      const f = t;\n      for (let n = t + 2; n < r.length - 1; n++)\n        if (r[n] === 255 && r[n + 1] === 217) {\n          const i = n + 2 - f;\n          i > l && (e = f, a = n + 2, l = i), t = n + 2;\n          break;\n        }\n    }\n  return e >= 0 && a > e ? new Blob([r.slice(e, a)], { type: \"image/jpeg\" }) : null;\n}\nclass y {\n  async needsDecode(e) {\n    return p.has(e);\n  }\n  async decode(e, a) {\n    const l = e instanceof Blob ? await e.arrayBuffer() : e;\n    if (!(a != null && a.fullQuality)) {\n      const f = await b(l);\n      if (f)\n        return f;\n      throw new Error(\"未在 RAW 文件中找到嵌入的预览图像（该文件可能已被剥离 JPEG 预览）。\");\n    }\n    const t = await b(l);\n    if (t)\n      return t;\n    throw new Error(\"完整 RAW 解码暂未实现，且无法提取嵌入预览图。\");\n  }\n  async getMetadata(e) {\n    return {\n      format: \"raw\"\n    };\n  }\n}\nconst E = new y();\nexport {\n  E as default\n};\n//# sourceMappingURL=rawLoader-0mLvxCNp.js.map\n"],"names":["b","r","a","w","l","o","f","d","j","x","y","E"],"mappings":"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"}